Моя система ( Raspbian GNU / Linux 10 (buster)) работает с некоторыми программами (разработанными мной), которые показывают результаты как HTML, поэтому я установил Apache 2 , чтобы удаленные пользователи могли одновременно работать ( CGI ) и просматривать результаты.
Все работало нормально до нескольких дней go, когда, я не знаю почему, загрузка ЦП начала повышаться слишком (примерно на 20,0 или даже больше) с неожиданными интервалами (периодически, может быть, минуты или часы между каждым повышением ЦП), и я не знаю, происходит ли такая перегрузка от моих программ.
Итак, я начал устранение неполадок с htop
:
1 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 123, 139 thr; 4 running
2 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Load average: 4.54 3.87 8.35
3 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%] Uptime: 06:52:41
4 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||100.0%]
Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 242M/926M]
Swp[||| 3.00M/100.0M]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
22628 www-data 20 0 235M 7400 2396 S 0.0 0.8 0:00.09 ¦ ¦ +- /usr/sbin/apache2 -k start
22627 www-data 20 0 235M 7400 2396 S 0.0 0.8 0:00.11 ¦ ¦ +- /usr/sbin/apache2 -k start
22626 www-data 20 0 235M 7400 2396 S 0.0 0.8 0:00.11 ¦ ¦ +- /usr/sbin/apache2 -k start
22625 www-data 20 0 235M 7400 2396 S 0.0 0.8 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
22624 www-data 20 0 235M 7400 2396 S 0.0 0.8 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
22623 www-data 20 0 235M 7400 2396 S 0.0 0.8 0:00.12 ¦ ¦ +- /usr/sbin/apache2 -k start
17533 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:03.13 ¦ +- /usr/sbin/apache2 -k start
17698 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.23 ¦ ¦ +- /usr/sbin/apache2 -k start
17697 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.08 ¦ ¦ +- /usr/sbin/apache2 -k start
17688 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.12 ¦ ¦ +- /usr/sbin/apache2 -k start
17687 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
17686 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.09 ¦ ¦ +- /usr/sbin/apache2 -k start
17639 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
17638 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.11 ¦ ¦ +- /usr/sbin/apache2 -k start
17637 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.09 ¦ ¦ +- /usr/sbin/apache2 -k start
17636 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.08 ¦ ¦ +- /usr/sbin/apache2 -k start
17635 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
17634 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.11 ¦ ¦ +- /usr/sbin/apache2 -k start
17633 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
17632 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.12 ¦ ¦ +- /usr/sbin/apache2 -k start
17631 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
17630 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.14 ¦ ¦ +- /usr/sbin/apache2 -k start
17629 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.12 ¦ ¦ +- /usr/sbin/apache2 -k start
17628 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
17627 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.12 ¦ ¦ +- /usr/sbin/apache2 -k start
17626 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.07 ¦ ¦ +- /usr/sbin/apache2 -k start
17625 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.13 ¦ ¦ +- /usr/sbin/apache2 -k start
17624 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.12 ¦ ¦ +- /usr/sbin/apache2 -k start
17623 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.11 ¦ ¦ +- /usr/sbin/apache2 -k start
17618 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.09 ¦ ¦ +- /usr/sbin/apache2 -k start
17585 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.11 ¦ ¦ +- /usr/sbin/apache2 -k start
17584 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.08 ¦ ¦ +- /usr/sbin/apache2 -k start
17583 www-data 20 0 237M 8828 2396 S 0.0 0.9 0:00.10 ¦ ¦ +- /usr/sbin/apache2 -k start
3557 www-data 20 0 7716 2872 2036 S 0.0 0.3 0:42.68 ¦ +- /usr/sbin/apache2 -k start
470 root 20 0 10964 3360 2796 S 0.0 0.4 0:02.29 +- wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
467 root 20 0 10692 5556 5080 S 0.0 0.6 0:00.12 +- /usr/sbin/sshd -D
29598 root 20 0 12204 6000 5264 S 0.0 0.6 0:00.32 ¦ +- sshd: [accepted]
29608 luis 20 0 12204 3284 2500 S 0.0 0.3 0:00.04 ¦ ¦ +- sshd: luis@notty
29610 luis 20 0 2056 1332 1252 S 0.0 0.1 0:00.03 ¦ ¦ +- /usr/lib/openssh/sftp-server
25890 root 20 0 12204 6168 5392 S 0.0 0.7 0:00.85 ¦ +- sshd: luis [priv]
26014 luis 20 0 12204 3884 3132 S 1.1 0.4 1:23.57 ¦ ¦ +- sshd: luis@pts/3
26017 luis 20 0 8524 3704 2708 S 0.0 0.4 0:00.69 ¦ ¦ +- -bash
21281 luis 20 0 9156 4008 2336 R 7.4 0.4 5:10.98 ¦ ¦ +- htop
13430 root 20 0 12204 6192 5396 S 0.0 0.7 0:01.12 ¦ +- sshd: luis [priv]
14884 luis 20 0 12204 3864 3064 S 0.0 0.4 0:01.65 ¦ +- sshd: luis@pts/1
14908 luis 20 0 8648 2992 1948 S 0.0 0.3 0:01.14 ¦ +- -bash
10235 luis 20 0 8000 2300 2120 S 0.0 0.2 0:00.16 ¦ +- screen -r
Подобный htop
экран в формате изображения для облегчения готовности:
Как можно заметить, существует несколько apache2 -k start
процессов, которые были разветвлены, и мне было интересно, может ли это быть, в любом случае, проблемой.
На этом другом экране мы видим, что apache2 -k start
разветвляет ожидаемый процесс (с именем Principal.cgi
), запущенный удаленным пользователем через CGI. Также запускаются и другие программы, такие как ComprobacionPreviaDeFecha.sh
или GenerarLog.sh
; это ожидаемое поведение :
1 [|||||||||||||||||||||||||||||||||||||||||||||||||| 56.5%] Tasks: 90, 140 thr; 2 running
2 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 77.8%] Load average: 3.21 4.48 5.53
3 [|||||||||||||||||||||||||||||||||||||| 42.9%] Uptime: 07:50:18
4 [|||||||||||||||||||||||||||||||||||||||||||||||||| 57.0%]
Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 208M/926M]
Swp[||| 3.00M/100.0M]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
17583 www-data 20 0 237M 9816 2396 S 0.0 1.0 0:00.35 ¦ ¦ +- /usr/sbin/apache2 -k start
3557 www-data 20 0 7716 2872 2036 S 0.0 0.3 0:53.83 ¦ +- /usr/sbin/apache2 -k start
11237 www-data 20 0 3196 2380 2204 S 0.0 0.3 0:00.02 ¦ +- bash /var/www/html/Pruebas/PruebaLog02/Principal.cgi StatusReport
11243 www-data 20 0 3196 2316 2140 S 0.0 0.2 0:00.03 ¦ +- bash /bin/ComprobacionPreviaDeFecha.sh StatusReport
11252 www-data 20 0 3196 2244 2060 S 0.0 0.2 0:00.04 ¦ +- bash /bin/GenerarLog.sh StatusReport
11280 www-data 20 0 3328 2436 2060 S 0.6 0.3 0:00.10 ¦ +- bash /bin/StatusReport.sh -o Resultado.html -cgi ../Principal.cgi?StatusReport
11511 www-data 20 0 7224 2324 1996 R 78.6 0.2 0:01.23 ¦ +- LogManager -o Internet - Estado -u -l
11527 www-data 20 0 1940 360 308 S 0.0 0.0 0:00.00 ¦ +- sh -c tac /var/log/LogManager/Logs/Principal.log
11533 www-data 20 0 1884 320 268 S 8.3 0.0 0:00.13 ¦ +- tac /var/log/LogManager/Logs/Principal.log
470 root 20 0 10964 3360 2796 S 0.0 0.4 0:02.61 +- wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
467 root 20 0 10692 5556 5080 S 0.0 0.6 0:00.12 +- /usr/sbin/sshd -D
Подобный htop
экран в формате изображения для облегчения готовности:
Мой вопрос: стоит ли мне беспокоиться о том, что чрезмерное число apache2 -k start
процессов? Не должны ли они все исчезнуть через некоторое время? Может ли это вызвать какие-то пики процессора? Или, может быть, это нормальное поведение Apache 2?
Дополнительные данные :
- Существует 4 (или так кажется) основных
apache2 -k start
процесса кажется, что они разветвляются на остальных (см. первое изображение выше). - Как видно, подозрительные процессы запускаются пользователем
www-data
. Это (удаленный) пользователь, которого моя система назначает для запуска сценариев CGI. - Все эти несколько процессов
apache2 -k start
, похоже, находятся в состоянии sleeping
(обратите внимание на S
на изображениях).