Как быстро диагностировать проблему на сервере? Для этого есть несколько удобных команд.
Команда показывает текущие задачи которые обслуживаются ядром. По умолчанию, команда top автоматически обновляет эти данные каждые пять секунд:
top - 11:17:51 up 153 days, 4:51, 1 user, load average: 0.01, 0.02, 0.05 Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 508944 total, 501244 used, 7700 free, 108552 buffers KiB Swap: 0 total, 0 used, 0 free, 148108 cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 10648 708 576 S 0.0 0.1 4:40.64 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 6:03.05 ksoftirqd/0 5 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u:0 6 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 7 root rt 0 0 0 0 S 0.0 0.0 1:28.15 watchdog/0 8 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset 9 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 11 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 12 root 20 0 0 0 0 S 0.0 0.0 0:30.45 sync_supers 13 root 20 0 0 0 0 S 0.0 0.0 0:00.61 bdi-default 14 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd 15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd 17 root 20 0 0 0 0 S 0.0 0.0 0:18.19 khungtaskd 18 root 20 0 0 0 0 S 0.0 0.0 0:27.31 kswapd0 19 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
Никто не использует и половины фишек, которые доступны в этой команде. Если нажать на кнопку h откроется мануал по команде.
С помощью кнопки k можно выключить любой процесс по его PID.
С помощью кнопки x можно менять колонку, по которой сортируются процессы.
Команда выводит базовую информацию о процессах, процессоре и памяти. Процессорное время распределено по таким типам:
Команда vmstat покажет снапшот процессора, IO, процессов, и памяти:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 7108 108932 148556 0 0 1 14 3 2 1 0 98 0
Первые колонки показывают процессы:
.
Оба показателя должны стремиться к нулю.
Следующие колонки показывают использование памяти:
Дальше идет инфа о вводе/выводе:
Дальше идут данные о прерываниях (in) и переключениях контекста (cs), а также данные об использовании процессора (формат такой же, как и у команды top).
Vmstat показывает краткосрочную картинку, однако стоит иметь представление и о долгосрочных трендах (это дальше).
Сначала нужно установить команду:
apt-get install sysstat
Команда показывает три отчета: использование процессора, утилизацию i/o и сетевой подсистемы. Если запустить команду без параметров, она будет покажет минимум инфы:
Linux 3.2.0-4-amd64 (ruhighload.com) 10/25/2015 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.85 0.00 0.37 0.08 0.71 98.00 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 1.01 0.88 13.92 11683285 184438328
Использование устройств (device) показывает все подключенные диски и информацию о их использовании. Чтение в секунду (kB_read/s) и запись в секунду (kB_wrtn/s) помогут дать представление о нагрузке дисков.
Команда показывает статистику памяти и свопа:
**total used** free shared buffers cached Mem: 508944 478368 30576 0 71780 162704 -/+ buffers/cache: 243884 265060 **Swap: 0 0 0**
Количество используемой памяти (used) в хорошем случае должно стремиться ко всей доступной памяти (total), однако swap должен быть минимальным (или нулевым, как у нас).
top, vmstat, iostat и free – 4 команды, которые помогут существенно упростить анализ и настройку производительности серверов.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…