Я хочу подчеркнуть память на определенное время. Я проверяю использование памяти с помощью vmstat -s
и с помощью команды tail /dev/zero
, но время ожидания tail /dev/zero
составляет примерно 60 с, и оно заполняет память случайным образом. Я хочу иметь доступную свободную память 5% на 180 секунд.
Можно было использовать буфер трассировки ядра, поскольку способ уменьшить доступную память уехал в систему и/или пользователя. Пример, с помощью моей системы с 16 гигабайтами и 8 центральных процессоров:
Сначала память сброса, давая нашу начальную точку (отмечают, что я работаю как корень):
root@s15:/home/doug/temp-k-git/linux# sync
root@s15:/home/doug/temp-k-git/linux# echo 3 > /proc/sys/vm/drop_caches
root@s15:/home/doug/temp-k-git/linux# free -m
total used free shared buff/cache available
Mem: 15719 88 15472 1 159 15343
Swap: 16085 35 16050
Теперь, вычислите и выделите память буферу трассировки ядра: 5% из 15719 megabytyes составляют 786 мегабайтов. При запуске с 15472 megabytyes Затем должны использоваться 14686 megabyytes. Буфер трассировки ядра на ЦП, в моем случае 8 центральных процессоров, таким образом, 1 835 мегабайтов за ЦП. Выделите:
root@s15:/home/doug/temp-k-git/linux# echo 1835000 > /sys/kernel/debug/tracing/buffer_size_kb
И проверьте его:
root@s15:/home/doug/temp-k-git/linux# free -m
total used free shared buff/cache available
Mem: 15719 14476 858 1 385 730
Swap: 16085 35 16050
Можно заметить, что это привело к 5,46% памяти, все еще доступной (настройте выделение, в случае необходимости). После того как Вы сделали любое тестирование, затем можно освободить буфер трассировки ядра с (0, не работает):
root@s15:/home/doug/temp-k-git/linux# echo 1 > /sys/kernel/debug/tracing/buffer_size_kb
И проверьте его:
root@s15:/home/doug/temp-k-git/linux# free -m
total used free shared buff/cache available
Mem: 15719 88 15470 1 160 15342
Swap: 16085 35 16050
Если Вы хотите, чтобы время составляло 180 секунд, затем укуталось вышеупомянутое в сценарий с 180 вторыми разами сна. Однако необходимо будет все еще проверить доступное число как начальную точку.