Stress-ng стрессовая память с определенным процентом
Я пытаюсь подчеркнуть память контейнера Ubuntu. Ввод бесплатно в моем командном терминале дает следующий результат:
free -m
total used free shared buff/cache available
Mem: 7958 585 6246 401 1126 6743
Swap: 2048 0 2048
Я хочу подчеркнуть ровно 10% от общего объема доступной памяти. Согласно руководству по стресс-нгу :
-m N, --vm N
start N workers continuously calling mmap(2)/munmap(2) and writing to the allocated
memory. Note that this can cause systems to trip the kernel OOM killer on Linux
systems if not enough physical memory and swap is not available.
--vm-bytes N
mmap N bytes per vm worker, the default is 256MB. One can specify the size as % of
total available memory or in units of Bytes, KBytes, MBytes and GBytes using the
suffix b, k, m or g.
Теперь в моем целевом контейнере я запускаю два стрессора памяти, чтобы занять 10% моей памяти:
stress-ng -vm 2 --vm-bytes 10% -t 10
Однако использование памяти в контейнере никогда не достигает 10%, сколько бы раз я его ни запускал. Я пробовал разные значения тайм-аута, безрезультатно. В шкафу он получает 8,9% никогда не приближается к 10%. Я проверяю использование памяти в моем контейнере следующим образом:
docker stats --no-stream kind_sinoussi
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
c3fc7a103929 kind_sinoussi 199.01% 638.4MiB / 7.772GiB 8.02% 1.45kB / 0B 0B / 0B 7
Пытаясь понять это поведение, я попытался запустить ту же команду с точной единицей байтов. В моем случае я выберу 800 мега, так как 7958м * 0,1 = 795,8 ~ 800м.
stress-ng -vm 2 --vm-bytes 800m -t 15
И я получаю 10%!
docker stats --no-stream kind_sinoussi
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
c3fc7a103929 kind_sinoussi 198.51% 815.2MiB / 7.772GiB 10.24% 1.45kB / 0B 0B / 0B 7
Может кто-нибудь объяснить, почему это происходит?
Другой вопрос, может ли stress-ng нагрузить использование памяти до 100%?