Для одного из моих проектов мне необходимо программно использовать ресурсы (ЦП, В / В и дисковое пространство).
В настоящее время я запускаю команды оболочки (iostat
) и анализирую результаты, что сравнительно хорошо работает для статистики дискового пространства.
С другой стороны, для процессора и статистики ввода / вывода у меня есть проблема.
При тестировании команды iostat
и top
в Mac OSX 10.9
и Centos 6.5
проблема заключается в том, что самый первый напечатанный результат является статическим.
Под "статичным" я подразумеваю константу. Это всегда одно и то же число, независимо от того, сколько раз вы повторяете команду. Кажется, однако, что значение меняется между перезагрузками.
Это относится только к самому первому значению, последующие значения просто хороши и отражают возможное использование системных ресурсов.
Теперь на CentOS, на котором я запускал тесты, есть виртуальная машина, а OSX - обычный MacBook Pro.
Итак, мои три вопроса следующие:
Почему статистика является статической - константы на
iostat
иtop
для использования процессора и ввода-вывода?Как я могу это исправить ?
Если это не может быть исправлено или является предполагаемым поведением, есть ли альтернативы, которые работают как на MacOSX, так и на CentOS?
Вот примеры журналов:
Простой одноразовый
iostat
на CentOS без обновления:Linux 2.6.32-431.5.1.el6.x86_64 08/04/2014 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle 24.64 0.00 0.57 0.10 0.00 74.70
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 1.44 0.22 26.26 656556 76917802 sdb 3.89 0.17 61.83 492714 181116136 dm-0 3.29 0.22 26.26 647474 76917776 dm-1 0.00 0.00 0.00 2416 0 dm-2 6.76 0.17 61.83 491914 181116136
Простой
iostat 1
на CentOS, но на этот раз с частотой обновления1 second
:
Linux 2.6.32-431.5.1.el6.x86_64 08/04/2014 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
24.64 0.00 0.57 0.10 0.00 74.70
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.44 0.22 26.26 656556 76918018
sdb 3.89 0.17 61.83 492714 181118872
dm-0 3.29 0.22 26.26 647474 76917992
dm-1 0.00 0.00 0.00 2416 0
dm-2 6.76 0.17 61.83 491914 181118872
avg-cpu: %user %nice %system %iowait %steal %idle
0.51 0.00 0.00 0.00 0.00 99.49
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 7.00 0.00 56.00 0 56
sdb 0.00 0.00 0.00 0 0
dm-0 7.00 0.00 56.00 0 56
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
1.00 0.00 1.50 0.50 0.00 97.00
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.00 0.00 32.00 0 32
sdb 8.00 0.00 176.00 0 176
dm-0 4.00 0.00 32.00 0 32
dm-1 0.00 0.00 0.00 0 0
dm-2 14.00 0.00 176.00 0 176
avg-cpu: %user %nice %system %iowait %steal %idle
0.51 0.00 0.00 0.00 0.00 99.49
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
1.00 0.00 1.00 0.00 0.00 98.01
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.50 0.00 0.00 99.00
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.50 0.00 0.00 99.00
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.51 0.00 0.00 99.49
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.50 0.00 0.00 99.00
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 2.00 0.00 24.00 0 24
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
dm-2 3.00 0.00 24.00 0 24
avg-cpu: %user %nice %system %iowait %steal %idle
0.51 0.00 0.51 0.00 0.00 98.99
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sdb 4.00 0.00 80.00 0 80
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
dm-2 7.00 0.00 80.00 0 80
Оба "эксперимента" были выполнены с интервалом в несколько секунд.
Как видите, для использования ЦП %user
всегда находится на 24.64%
а %system
на 0.57
для самого первого значения.