負荷試験や監視/通知機能の検証のため、CPU、メモリ、ディスク、それぞれの使用率に意図的に影響を与える方法を確認しておく。
stressコマンドを使うのでまずはインストール。
$ sudo dnf install stress
Last metadata expiration check: 0:07:51 ago on Tue Mar 12 22:23:51 2024.
Dependencies resolved.
================================================================================================================================================================================
Package Architecture Version Repository Size
================================================================================================================================================================================
Installing:
stress x86_64 1.0.4-28.amzn2023.0.2 amazonlinux 37 k
Transaction Summary
================================================================================================================================================================================
Install 1 Package
Total download size: 37 k
Installed size: 78 k
Is this ok [y/N]: y
Downloading Packages:
stress-1.0.4-28.amzn2023.0.2.x86_64.rpm 513 kB/s | 37 kB 00:00
-------------------------------------------------
CPUに負荷をかける場合はstressコマンドにc
オプションとワーカープロセス数を指定する。
今回は2コアのサーバなのでワーカープロセス数を2としてみる。
$ stress -c 2
stress: info: [25370] dispatching hogs: 2 cpu, 0 io, 0 vm, 0 hdd
その間のCPU使用状況をsarで確認
22:43:37 CPU %user %nice %system %iowait %steal %idle
22:43:40 all 87.69 0.00 0.00 0.00 12.31 0.00
22:43:40 0 87.71 0.00 0.00 0.00 12.29 0.00
22:43:40 1 87.67 0.00 0.00 0.00 12.33 0.00
22:43:40 CPU %user %nice %system %iowait %steal %idle
22:43:43 all 90.65 0.00 0.00 0.00 9.35 0.00
22:43:43 0 90.64 0.00 0.00 0.00 9.36 0.00
22:43:43 1 90.67 0.00 0.00 0.00 9.33 0.00
22:43:43 CPU %user %nice %system %iowait %steal %idle
22:43:46 all 96.01 0.00 0.00 0.00 3.99 0.00
22:43:46 0 96.01 0.00 0.00 0.00 3.99 0.00
22:43:46 1 96.00 0.00 0.00 0.00 4.00 0.00
22:43:46 CPU %user %nice %system %iowait %steal %idle
22:43:49 all 91.99 0.00 0.00 0.00 8.01 0.00
22:43:49 0 91.97 0.00 0.00 0.00 8.03 0.00
22:43:49 1 92.00 0.00 0.00 0.00 8.00 0.00
%userと%stealでCPU使用率が100%となることを確認。
次はstressコマンドにm
オプションでメモリに負荷をかけてみる。
m
オプションの後ろの2
はワーカープロセス数を指定している。
(メモリサイズをどれだけ確保するかなどのオプションもあるが省略)
$ stress -m 2
stress: info: [26981] dispatching hogs: 0 cpu, 0 io, 2 vm, 0 hdd
sarで観測。
23:47:37 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
23:47:40 9252 16000 355244 85.08 0 1540 816480 97.86 648 262528 0
23:47:43 9016 15680 355540 85.15 0 1412 816480 97.86 800 260048 0
23:47:46 74940 86712 289516 69.34 0 1484 816480 97.86 344 195460 0
23:47:49 9032 15684 355636 85.17 0 1328 816480 97.86 632 261364 0
23:47:52 8868 15588 355624 85.17 0 1452 816480 97.86 708 260936
kbbuffers
とkbcached
を差し引いてもkbmemused
が大半を占めてることを確認。
最後にディスク使用率を操作するため、任意のサイズのファイルを作成する方法を確認する。
まずは現状確認。
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 204M 0 204M 0% /dev/shm
tmpfs 82M 452K 82M 1% /run
/dev/nvme0n1p1 8.0G 1.6G 6.4G 20% /
tmpfs 204M 0 204M 0% /tmp
/dev/nvme0n1p128 10M 1.3M 8.7M 13% /boot/efi
tmpfs 41M 0 41M 0% /run/user/1000
$
ddコマンドで1GBのダミーファイルを作成する。
$
$ dd if=/dev/zero of=DUMMYFILE bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 6.69777 s, 157 MB/s
$
結果。
1GBのファイルが作成され、空き容量が変化したことを確認。
$ ls -lh DUMMYFILE
-rw-r--r--. 1 ec2-user ec2-user 1000M Mar 17 00:53 DUMMYFILE
$
$
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 204M 0 204M 0% /dev/shm
tmpfs 82M 452K 82M 1% /run
/dev/nvme0n1p1 8.0G 2.6G 5.4G 33% /
tmpfs 204M 0 204M 0% /tmp
/dev/nvme0n1p128 10M 1.3M 8.7M 13% /boot/efi
tmpfs 41M 0 41M 0% /run/user/1000
$
参考文献