Авторский канал по разработке на Linux.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!
Cотрудничество: @energy_c
Post #968
2.19K
- 👍 12
- 🔥 7
- 🤝 6
- ❤ 2
LI @linux_ready
Showing posts older than #969 · Back to latest


ps -eo pid,ppid,user,cmd --sort=ppid
ps -eo pid,ppid,cmd | awk '$2==1'
sudo journalctl -u cron --since "1 hour ago"
# или
sudo grep CRON /var/log/syslog
systemctl list-timers --all
ls -l /proc/<PID>/exe
tr '\0' '\n' < /proc/<PID>/environ

env -i PATH=/usr/bin:/bin <команда>
env -i очищает окружение полностью. Добавляем PATH и команда выполняется с нуля.bash --noprofile --norc

iostat показывает реальную картину: latency, очередь, загрузку устройства и фактический поток операций.iostat -xz 1
await — средняя задержка операции.
На SSD всё, что выше 10–15 мс, уже красный флаг.
util — занятость устройства (%).
100% = диск работает на полном пределе, очередь растёт.
rMB/s / wMB/s — фактический throughput.
Позволяет понять, упираетесь ли в предел устройства (особенно важно для HDD и VM с IOPS-лимитами).
svctm — время обслуживания диском (мс).
Метрика устарела и может отсутствовать; если есть, сравнение await с svctm помогает понять, проблема в очереди или в самом диске.
sudo iotop -oPa
-oPa показывают только процессы, реально генерирующие I/O, и отображают накопленную статистику за время работы утилиты — удобно, когда нагрузка пульсирует.inode:df -h
df -i
storage:sudo journalctl -k | grep -Ei 'i/o|nvme|blk'
iostat — быстрый способ отделить проблемы приложения от проблем диска. Если await растёт, а util стремится к 100% — это почти всегда I/O bottleneck, а не код.
HTTPS-запросе.




• Проверяем базовые зависимости через ldd;
• Извлекаем скрытые зависимости из ELF через readelf;
• Смотрим фактические загруженные библиотеки через /proc/<pid>/maps;
• Получаем полную картину, которая помогает решать проблемы несовместимых или “пропавших” .so.

• Пошагово разберёте, как собрать и пропатчить ядро под свои нужды;
• Настроите виртуальную машину + контейнерное окружение, чтобы безопасно экспериментировать;
• Освоите сборку ядра, конфигурацию, подготовку deb-пакета и установку патчей;
• Получите готовую базу, чтобы разбираться глубже в ядре и настраивать систему под себя.🔊 Продолжайте читать на Habr!

strace или ptrace. Посмотрим стек ядра процесса:sudo cat /proc/<PID>/stack
futex_wait_queue_me - блокировка / mutex, filemap_read - чтение с диска и т.д.sudo cat /proc/<PID>/wchan
/proc/<PID>/stack — это именно то, что видит ядро.
ps -o pid,ppid,state,cmd -p <PID>
D — ожидание I/O
T — остановлен
Z — зомби
Kernel stack зависшего процесса (если он залип в системном вызове):sudo cat /proc/<PID>/stack
io_schedule, wait_on_page_bit.sudo lsof -p <PID>
traceback без перезапуска:sudo py-spy dump --pid <PID>
node --report-on-signal --report-compact app.js
kill -USR2 <PID>
sudo strace -p <PID>
futex(...), read(...), poll(...), select(...).CPU, context switch, I/O):pidstat -p <PID> -w -d 1
I/O, блокировке, системных вызовах или в логике приложения.
auditd ядро фиксирует вызовы unlink/unlinkat.sudo ausearch -x rm -sc unlink
sudo auditctl -w / -p wa
ausearch -sc unlink
rm.