Выполняется процесс с высокой загрузкой процессора, но 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 (если он у вас есть) во время работы цикла.

Другие вопросы по тегам