Сообщество / Настройка

открыл htop и теперь мне страшно

kirill_nsk
Middle
Сообщения: 166
Репутация: 108
Дата регистрации:
26.08.2026
АВТОР ТЕМЫ17 окт. 2026 г., 09:01 (GMT+3)
ребят, наверно тупой вопрос, но я не понимаю куда смотреть.

сижу на обеде, зашёл по ssh на свой сервер просто проверить что живой. самый маленький тариф, там у меня туннель для телефона и пара мелочей. тут кто-то писал что htop удобнее top, ну я поставил, запустил.

и теперь сижу над ним как над египетскими иероглифами) сверху load average: 0.87 0.54 0.31. ядро одно, значит 0.87 это почти потолок? или наоборот норм? память закрашена где-то до середины, swap пустой.

при этом всё работает. туннель живой, телефон через него ходит, страницы открываются. то есть по ощущениям серверу норм, а по цифрам будто он при смерти и мне срочно надо что-то крутить.

как отличить «это нормальная загрузка» от «пора волноваться»? есть одна цифра за которой смотреть, или оно всё вместе считается?
1
lexa92
Middle
Сообщения: 147
Репутация: 126
Дата регистрации:
09.08.2026
17 окт. 2026 г., 16:00 (GMT+3)
kirill_nsk 0.87 на одном ядре — это не потолок и не проценты. это длина очереди: в среднем чуть меньше одного процесса ждёт процессор. волноваться начинаешь, когда стабильно выше числа ядер и растёт. по твоим цифрам серверу скорее скучно, чем страшно.

одной волшебной цифры нет, смотри так. в htop жми F6 и сортируй по CPU% — кто сверху, тот и грузит. потом:

vmstat 1 5

колонка wa: почти ноль — всё норм, двузначная — упираешься в диск, а не в процессор. load растёт и от диска тоже, это не только cpu.
1
void_3am
Middle
Сообщения: 148
Репутация: 94
Дата регистрации:
14.08.2026
18 окт. 2026 г., 04:00 (GMT+3)
lexa92, за wa спасибо, проверил — ноль, можно не спать дальше) а страшно не 0.87, kirill_nsk. страшно когда жмёшь F6, а сверху процесс, которого ты не запускал
1
kirill_nsk
Middle
Сообщения: 166
Репутация: 108
Дата регистрации:
26.08.2026
18 окт. 2026 г., 06:00 (GMT+3)
lexa92, блин, спасибо, отпустило)) сегодня с утра до работы сел и всё по твоему списку проверил.

vmstat прогнал — wa нули во всех пяти строках. по F6 отсортировал, и тут смешно вышло: на первом месте сам htop с его 3%)) то есть сервер грузит в основном моя собственная паника. ниже wireguard с нулём и мой маленький node-бот, тоже около нуля.

и про очередь понял наконец: 0.87 это не «87 процентов загрузки», а типа один процесс ждёт своей очереди. я вчера чуть не пошёл тариф менять из-за этого числа 🤦 хорошо что сначала спросил.

void_3am, список процессов весь проглядел — вроде всё своё, чужого не нашёл. но там куча штук в квадратных скобках типа kworker, я их точно не запускал. гугл говорит что это системные и так надо, это правда они? а то теперь я на каждый процесс смотрю с подозрением)
2
olya_web
Junior
Сообщения: 67
Репутация: 49
Дата регистрации:
22.08.2026
18 окт. 2026 г., 10:01 (GMT+3)

kirill_nsk писал:
сервер грузит в основном моя собственная паника


вот это я себе на стикер перепишу, потому что это буквально про меня))

Про процессы в квадратных скобках — я этим же пугалась. Когда у клиента лёг сайт, я открыла список процессов, а там этих kworker штук двадцать. У меня всё, паника, взломали. Племяннику в телеграм с восклицательными знаками, он с вахты ответил одной строкой: всё что в квадратных скобках — это сам линукс, он так дышит, не трогай)) Гугл тебе правду сказал, это системные.

И с цифрами история похожая была. На одном клиентском сайте полоса памяти закрашена почти доверху — я уже прикидывала переезд на тариф дороже. Оказалось, линукс просто забивает свободную память кэшем «на всякий случай» и отдаёт, когда реально понадобится. Сайт жив до сих пор, а я чуть не заплатила за собственную нервозность 🤦

Теперь у меня главный индикатор простой: сайты открываются, клиенты в вотсап не пишут — значит серверу норм, независимо от того, что там закрашено)) А в цифры лезу только когда уже что-то болит.
0
lexa92
Middle
Сообщения: 147
Репутация: 126
Дата регистрации:
09.08.2026
18 окт. 2026 г., 11:01 (GMT+3)
olya_web с индикатором «клиенты не пишут в вотсап» есть одна проблема: клиенты замечают последними. сайт может полчаса отдавать 502, пока кто-то из них вообще зайдёт, и ещё столько же, пока тебе напишут. узнаёшь о падении через час после того, как оно случилось. для визитки терпимо, для магазина это уже деньги. цифры как раз надо смотреть не когда заболело, а чтобы не заболело.

по памяти. то, что ты описала про кэш, — правда, но смотреть это надо не по полоске в htop, а так:

free -h

колонка free будет маленькой всегда, на неё не смотри. смотри на available — это сколько памяти реально можно взять под программы прямо сейчас, с учётом того, что кэш отдаст. если available половина от total — памяти у тебя вдвое больше, чем кажется по закрашенной полосе, и переезд был бы зря.

минимум, чтобы не узнавать о проблемах из вотсапа:
1. раз в день глазами:

df -h

диск, забитый под сотню, кладёт сайты чаще любой нагрузки. логи растут молча, потом резко.
2. там же:

uptime

третье число — load за 15 минут. стабильно выше числа ядер — уже разбираешься, кто грузит.
3. если всё-таки лёг, первое действие:

journalctl -u nginx -n 50 --no-pager

или имя твоего сервиса вместо nginx. последние 50 строк лога, там почти всегда написано, почему умер. быстрее, чем гадать по htop.

и раз тема зашла: подозрительный процесс проверяется так:

ls -l /proc/1234/exe

где 1234 — pid. у обычного процесса там путь к файлу на диске. у kworker и прочих в квадратных скобках файла нет вообще, они живут в ядре. племянник прав, это система дышит.

kirill_nsk тебя пункт про df тоже касается. на 40 гигах диск кончается раньше, чем ты успеваешь привыкнуть к серверу.
4
void_3am
Middle
Сообщения: 148
Репутация: 94
Дата регистрации:
14.08.2026
19 окт. 2026 г., 00:00 (GMT+3)
kirill_nsk kworker — это линукс дышит, да. чужой процесс выглядит обычно скучнее: что-нибудь вроде kworker_miner из /tmp) а раз сверху твой же htop и wa нули — спи, сервер уже спит
1
kirill_nsk
Middle
Сообщения: 166
Репутация: 108
Дата регистрации:
26.08.2026
19 окт. 2026 г., 08:00 (GMT+3)
lexa92, добрался до free -h в обед. available 1.3 гига из двух, хотя полоска закрашена наполовину. то есть и память мне тоже приснилась 🤦 df показал диск занят на треть. выходит сервер у меня здоровее меня самого))

только вопрос: journalctl -u nginx это если nginx стоит? у меня его вроде нет, у меня туннель и один бот на ноде. мне что вместо nginx подставлять если чё?
1
I
ivan_tver
Junior
Сообщения: 6
Репутация: 4
Дата регистрации:
14.09.2026
19 окт. 2026 г., 11:00 (GMT+3)
kirill_nsk, подставляй имя своего сервиса: journalctl -u mybot (или как ты его в systemd назвал). а для туннеля -u wg-quick@wg0. у меня бот тоже на ноде, так и смотрю)
1
void_3am
Middle
Сообщения: 148
Репутация: 94
Дата регистрации:
14.08.2026
20 окт. 2026 г., 02:00 (GMT+3)
ivan_tver только сервис не называй mybot. у меня так test_final живёт второй год, и я его уже боюсь перезапускать. а wg-quick@wg0 — единственное имя в systemd, которое выглядит как пароль)
1
lexa92
Middle
Сообщения: 147
Репутация: 126
Дата регистрации:
09.08.2026
20 окт. 2026 г., 13:00 (GMT+3)
kirill_nsk имена сервисов не гадают, система сама скажет:

systemctl list-units --type=service --state=running

там будет и твой бот, и wg-quick@wg0. дальше journalctl -u имя из первой колонки.

и да, kworker — это ядро, их не трогают вообще. чужое выглядит иначе: живёт в /tmp, имя из случайных букв, жрёт cpu. у тебя такого нет. сервер действительно здоровее тебя, и это без иронии.
0