Выполняется процесс с высокой загрузкой процессора, но top/htop показывает ВСЕ процессорные процессоры 0%?
Все . Я эти странные серверы не могу объяснить следующим образом:
HTOP
1 [||||||||||||||| 28.5%] Tasks: 53 total, 1 running
2 [|||||||||||||||| 31.1%] Load average: 0.00 0.00 0.00
3 [|||||||||||||||| 30.5%] Uptime: 211 days(!), 02:21:04
4 [| 0.7%]
Mem[|||| 171/16077MB]
Swp[ 0/11610MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1 root 20 0 8352 840 704 S 0.0 0.0 1:02.48 init [2]
23764 root 20 0 10584 1364 1172 S 0.0 0.0 0:00.00 `- bash -c while sleep 0.000001; do echo 29150 | md5sum ; done
Топ
top - 01:36:46 up 211 days, 2:40, 5 users, load average: 0.00, 0.00, 0.00
Tasks: 108 total, 2 running, 106 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.8%us, 18.0%sy, 0.0%ni, 77.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16463184k total, 797364k used, 15665820k free, 122992k buffers
Swap: 11889656k total, 0k used, 11889656k free, 499496k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8352 840 704 S 0 0.0 1:02.48 init
2 root 20 0 0 0 0 S 0 0.0 0:00.15 kthreadd
3 root RT 0 0 0 0 S 0 0.0 0:00.14 migration/0
4 root 20 0 0 0 0 S 0 0.0 0:00.22 ksoftirqd/0
5 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 root RT 0 0 0 0 S 0 0.0 0:00.16 migration/1
7 root 20 0 0 0 0 S 0 0.0 0:00.09 ksoftirqd/1
8 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/1
сервер действовал в этом состоянии несколько дней назад, поэтому я стараюсь использовать "while...md5sum", предлагающее нагрузку на процессор, но не только на то, что загрузка процессора /mem в то время была 0%, но на самом деле использование всех остальных составляло 0%,
очевидно, когда я убил этот цикл while, строка htop опустилась до истинного 0% (серверу не особо много работы).
и я дважды проверяю "md5sum which htop
"(и сверху) на другом НОРМАЛЬНОМ сервере, они имеют точно двоичный результат /md5.
так, есть идеи? Я такой смертельный руткит? Я уже использовал rkhunter / chkrootkit, без понятия.
2 ответа
Чтобы проверить, скрывают ли top или связанные библиотеки процессы из-за руткита, вы можете скомпилировать статическую версию top в другой системе. Затем скопируйте эту версию и запустите ее. Если у вас установлен root-код, скрытые процессы должны отображаться в этой статической вершине, поскольку он не будет использовать ни одну из библиотек руткитов.
Некоторые предложения относительно определения того, что еще может быть причиной проблемы:
- Отключите как можно больше ненужных сервисов (работа в сети, iptables, auddd, selinux, sendmail, nfs, netfs, nscd и т. Д.), Чтобы ограничить область использования дополнительных циклов ЦП.
- Посмотрите в /var/log/*, чтобы увидеть, если что-то выплевывает ошибки.
- Включите ведение журнала или больше подробностей в ваших сервисах
- Используйте программу, такую как dtrace или systemtap, чтобы увидеть, что происходит в
На каком tty вы запускаете цикл while? У меня есть vserver с 8 процессорами, я вхожу в систему через ssh, цикл работает сначала на 4 процессорах, позже работает только на 2 процессорах, но нагрузка увеличивается до 1,5, а%CPU остается на 0. Можете ли вы проверить /proc/loadavg (если он у вас есть) во время работы цикла.