mirror of
https://github.com/xmengnet/the-art-of-command-line.git
synced 2024-12-24 04:26:30 +08:00
+ debuging
This commit is contained in:
parent
5de31d6201
commit
9e242fbec5
1 changed files with 20 additions and 0 deletions
20
README-ua.md
20
README-ua.md
|
@ -175,6 +175,26 @@
|
|||
|
||||
##Дебаггінг
|
||||
|
||||
- Дле веб-дебаггінга використовуйте `curl` і `curl -I`, або альтернативу - `wget` або [`httpie`](https://github.com/jakubroztocil/httpie).
|
||||
- Щоб отримати інформацію про диск/CPU/мережі використовуйте `iostat`,` netstat`, `top` (краще `htop`) і `dstat`. Використовуйте `iostat -mxz 15` для отримання основної інформації CPU.
|
||||
- Для інформації про мережу використовуйте `netstat` і `ss`.
|
||||
- Для більш детальної інформації використовуйте [`glances`](https://github.com/nicolargo/glances). Ця програма показує відразу кілька різних статистик в одному вікні терміналу. Корисно, коли стежите за відразу декількома системами.
|
||||
- Для того, щоб стежити за пам'яттю вокористовуйте `free` і `vmstat`. Зокрема, не забувайте, що значення кешування ("cached" value) - Це пам'ять, яку тримає ядро і ці значення є частиною `free`.
|
||||
- Використовуйте `mtr` для кращого трасування(простежити маршрут), щоб знаходити проблеми мережі.
|
||||
- Для того, щоб дізнатися, чому диск повністю забитий, використовуйте `ncdu`, це зберігає час у порівнянні з тим же `du -sh *`.
|
||||
- Для того, щоб дізнатися, який сокет або процес використовує інтернет, використовуйте `iftop` або `nethogs`.
|
||||
- додаток `ab` який поставляється разом з apache, корисний для швидкої і поверхневої перевірки продуктивності веб-сервера. Для більш серйозного лоад-тестінгу використовуйте `siege`.
|
||||
- Для більш серйозного дебаггінга мережі використовуйте `wireshark`,` tshark`, і `ngrep`.
|
||||
- Знайте про `strace` і` ltrace`. Ці команди можуть бути корисні, якщо програма падає або висить, і ви не знаєте чому або якщо ви хочете протестувати продуктивність програми. Не забувайте про можливість дебаггінга (`-c`) і можливість причепитися до процесу по pid (` -p`).
|
||||
- `ldd` для перевірки системних бібліотек.
|
||||
- Знайте як причепитися до працюючого процесу через `gdb` і отримати трасування стека.
|
||||
- Використовуйте `/proc`. Іноді він неймовірно корисний для налагодження запущених програм. Приклади: `/proc/cpuinfo`, `/proc/xxx/cwd`, `/proc/xxx/exe`, `/proc/xxx/fd/`, `/proc/xxx/smaps` (де `xxx` id or pid процесу).
|
||||
- Коли дебажите щось, що зламалося в минулому, використовуйте `sar` буває дуже корисно. Показує історію та статистику CPU, пам'яті, мережі і т.д.
|
||||
- Для аналізу більш складних систем і продуктивності використовуйте `stap` ([SystemTap](https://sourceware.org/systemtap/wiki)), [`perf`](http://en.wikipedia.org/wiki/ Perf_(Linux)), і [`sysdig`](https://github.com/draios/sysdig).
|
||||
- Дізнайтеся, яка у вас операційна система, через `uname` або `uname -a` або `lsb_release -a`.
|
||||
- Використовуйте `dmesg`, коли щось відбувається зовсім дивне (це може бути проблеми із залізом або драйверами).
|
||||
|
||||
|
||||
##Одним-рядком
|
||||
|
||||
##Складно-але-корисно
|
||||
|
|
Loading…
Reference in a new issue