[小ネタ]Docker コンテナに CPU 負荷を掛けた時のメモ
小ネタ。
Docker コンテナに CPU 負荷を掛けた時の挙動を確認した時のメモ。
環境
$docker info
Containers: 3
Running: 3
Paused: 0
Stopped: 0
Images: 3
Server Version: 17.12.1-ce
Storage Driver: devicemapper
Pool Name: docker-docker--pool
Pool Blocksize: 524.3kB
Base Device Size: 10.74GB
Backing Filesystem: ext4
Udev Sync Supported: true
Data Space Used: 639.1MB
Data Space Total: 23.33GB
Data Space Available: 22.69GB
Metadata Space Used: 536.6kB
Metadata Space Total: 25.17MB
Metadata Space Available: 24.63MB
Thin Pool Minimum Free Space: 2.333GB
Deferred Removal Enabled: true
Deferred Deletion Enabled: true
Deferred Deleted Device Count: 0
Library Version: 1.02.135-RHEL7 (2016-11-16)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9b55aab90508bd389d7654c4baf173a981477d55
runc version: 9f9c96235cc97674e935002fc3d78361b696a69e
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.85-38.58.amzn1.x86_64
Operating System: Amazon Linux AMI 2017.09
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 993.2MiB
Name: ip-172-31-11-19
ID: J7FY:XV4I:XVQE:STLY:AXXC:K4KJ:U64D:OZGB:GJQF:VO3A:LL5C:YLST
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
やってみた
以下で実施。
# docker exec で bash を起動
$docker exec -it 865052a7af6f bash
# dd コマンドを実行
$dd if=/dev/zero of=/dev/null &
[1] 96
# bash を終了
$exit
これでOK.
確認
# docker stats で高い値
$docker stats 865052a7af6f
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
865052a7af6f ecs-console-sample-app-static-10-simple-app-fa82a99aa2d39edd7600 99.64% 6.668MiB / 256MiB 2.60% 1.67kB / 0B 7.24MB / 4.1kB 0
# dd プロセスの %CPU が99.2
$top
- 01:46:21 up 35 days, 3:09, 2 users, load average: 0.44, 0.13, 0.04
Tasks: 121 total, 3 running, 118 sleeping, 0 stopped, 0 zombie
Cpu(s): 32.9%us, 67.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1017056k total, 704388k used, 312668k free, 259880k buffers
Swap: 0k total, 0k used, 0k free, 235320k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19330 root 20 0 4264 700 620 R 99.2 0.1 0:34.16 dd
EC2(t2.micron。これは vCPU が1) を使っていたが CPUUtilization メトリクスについてはずっと100%となっていた。