Как узнать время работы операционной системы Linux?
При работе с любой операционной системой иногда требуется понимание какой количество времени прошло со времени последнего старта ОС, либо дату и время загрузки операционной системы. Эти значения взаимовычисляемые, и какой из них использовать зависит от цели, которую необходимо достичь. Для определение времени работы ОС Linux можно использовать следующие встроенные возможности:
Определение времени работы Linux при помощи команды Uptime
Команду uptime можно запускать без параметров, так и с параметрами
uptime [options]
Где, Options:
-p, —pretty Показывает время работы ОС
-h, —help Показывает помощь
-s, —since Показывает время старта ОС
-V, —version Отображение версии

результат запуска как с параметрами, так и без показан ниже на скриншоте:
Определение времени работы Linux при помощи команды w
Для определения времени работ ОС Linux можно также воспользоваться командой w. Результат ее выполнения показан на скриншоте ниже:
Определение времени работы Linux при помощи команды top
Для определения времени работ ОС Linux можно также воспользоваться командой top. результат ее выполнения показан на скриншоте ниже, время работы ОС с момент запуска можно увидеть в левом верхнем углу.
Как узнать uptime в Linux/Unix

Нужно проверить uptime сервера? Нужно узнать когда был последний reboot ( перезагрузка)? Не знаете как? Я расскажу вам как можно проверить uptime вашей ОС (Linux\Unix), приведу в своей статье «Как узнать uptime в Linux/Unix» 3 способа как это можно сделать.
1. Команда top.
Top — программа для слежения за активностью процессора в реальном времени. Он отображает список наиболее ресурсоемких задач в системе и может обеспечить интерактивный интерфейс для управления процессами. Программа может сортировать задачи по загрузке процессора, использование памяти и времени автономной работы. Так же есть улучшенная версия под названием htop, которая дает возможность пролистывать и смотреть каждый процесс. Так же данная программа может показать время последней перезагрузки (uptime), чтобы посмотреть это, выполните:

посмотреть uptime с помощью утилиты top
2. Команда w.
Команда (утилита) w — отображает информацию о пользователях которые в настоящее время есть на машине, и их процессов. Внутри заголовка, показывается текущее время, как долго система работает, сколько пользователей в настоящее время вошли в систему, и среднюю нагрузку системы за последние 1, 5 и 15 минут

посмотреть uptime с помощью утилиты w
3. Команда uptime.
uptime дает одно строчную информацию на экран. Он показывает текущее время, как долго система работает уже, сколько пользователей в настоящее время залогинились в системе и среднюю нагрузку системы за последние 1, 5 и 15 минут.
# uptime

посмотреть uptime с помощью утилиты uptime
Моя тема «Как узнать uptime в Linux/Unix» завершена. Спасибо за посещение моего сайта http://linux-notes.org
Категории: Debian’s, FreeBSD, RHEL’s
Теги: uptime.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Рубрики
- Arch Linux (167)
- Commands (36)
- Debian’s (635)
- Administration tools Ubuntu (37)
- Backups Debian’s (7)
- Database в Ubuntu (58)
- Games (игры) (1)
- Monitoring в Debian и Ubuntu (49)
- Virtualization в Ubuntu / Debian/ Linux Mint (41)
- Docker (22)
- Kubernetes (6)
- KVM (4)
- OpenVZ (3)
- Vagrant (5)
- VirtualBox (6)
- ArgoCD (1)
- Concourse (1)
- Gitlab (1)
- Jenkinks (4)
- Spinnaker (1)
- Apache (32)
- Cherokee (1)
- FTP-services (5)
- Lighttpd (1)
- Nginx (26)
- PHP (27)
- Proxy для Debian’s (2)
- Tomcat (4)
- Панели управления в Ubuntu/Debian/Mint (24)
- Установка и настройка почты на Ubuntu/Debian (12)
- Хранилища (clouds) (2)
- Administration tools freeBSD (19)
- Database во FreeBSD (52)
- Monitoring во freeBSD (37)
- Virtualization во FreeBSD (22)
- VoIP (1)
- Установка Web сервисов (91)
- Установка и настройка почты (6)
- Установка из ports (пакетов) (19)
- Установка из sorce code (исходников) (23)
- Непрерывная интеграция (CI) (27)
- Database в MacOS (36)
- Monitoring в Mac OS (31)
- Security (безопасность) (12)
- Virtualization в Mac OS (30)
- Docker (19)
- Kubernetes (6)
- Vagrant (5)
- VirtualBox (5)
- ArgoCD (1)
- CircleCI (1)
- Concourse (1)
- Gitlab (1)
- Jenkinks (4)
- Spinnaker (1)
- Administration tools CentOS (49)
- Backups RPM’s (4)
- Database в CentOS (68)
- Monitoring в CentOS (67)
- Virtualization в CentOS/ Red Hat/ Fedora (42)
- Docker (23)
- Kubernetes (6)
- KVM (5)
- OpenVZ (2)
- Vagrant (5)
- VirtualBox (6)
- VMWare (3)
- ArgoCD (1)
- Concourse (1)
- Gitlab (1)
- Jenkinks (4)
- Spinnaker (1)
- Apache (35)
- Cherokee (1)
- DNS (3)
- FTP (10)
- Nginx (33)
- PHP (34)
- Proxy для RedHat’s (2)
- Tomcat (2)
- Voice (2)
- Панели управления в CentOS/Red Hat/Fedora (27)
- Прокси сервер на CentOS/RHEL/Fedora (4)
- Установка и настройка почты на CentOS/RHEL/Fedora (14)
- Хранилища (clouds) (1)
соц сети



Архив новостей
Свежие записи
- Pull/Push AWS ECR образов через AWS Route53 CNAME 17.11.2021
- openpgp: signature made by unknown entity в Terraform 09.11.2021
- Установка Terraformer в Unix/Linux 31.05.2021
- Установка ArgoCD в Unix/Linux 06.01.2021
- Установка tfswitch в Unix/Linux 08.12.2020
Свежие комментарии
- Вадим к записи Переключить версию python в Unix/Linux
- Максим к записи Сохраняем все резервные копии в Dropbox
- Артём к записи Переключить версию python в Unix/Linux
- Владислав к записи Добавить Swap в CentOS/Fedora/RedHat
- Александр к записи Закомментировать/Раскомментировать строки vi/vim в Unix/Linux
Анализ работы сервера linux
Проверьте количество, параметры и мощность ваших процессоров:
cat /proc/cpuinfo
Список из 30 процессов, которые больше всего нагружают процессор:
ps aux --sort=-%cpu | head -31
В динамике увидеть список самых прожорливых процессов можно командой top
Для более подробной информации установите и используйте htop
Память
Команда free показывает в килобайтах общее количество свободной и используемой системой физической памяти и памяти SWAP, а также размеры буферов, используемые ядром.
free total used free shared buffers cached Mem: 962568 734924 227644 0 29040 251592 -/+ buffers/cache: 454292 508276 Swap: 1461872 326604 1135268
Примечание: Для виртуальных серверов распределение (выделение) памяти выполняется ядром несущей машины (hardware node-HN).
Виртуальная память (swap) для Вашей VPS выделяется, но Вы этого не видите стандартными средствами.
Использование виртуальной памяти (swap) не отображается внутрь VPS в текущей версии Virtuozzo (В будущем это будет возможно). Для VPS выделяется просто память, и внутри VPS не показывается различие между swap и остальной памятью, поэтому в /proc/meminfo (а также в top/free) мы наблюдаем нулевой размер и нулевое использование swap.
Но есть важный момент — если не хватает памяти на выделенном сервере, то процессы вытесняются в виртуальную память, что тормозит работу и это автоматически снижает нагрузку.
Топ прожорливых к памяти процессов
ps aux --sort=-rssize | head -20
Есть возможность получить виртуальный размер процесса и резидентный, я предлагаю измерять резидентный — то что реально получает процесс от ядра. Однако есть смысл отсортировать и по виртуальному размеру — то, что процесс просит у ядра, но не получает.
ps aux --sort=-vsz | head -20
Дополнительно используйте top, htop с сортировкой по памяти
Диск
Система может просто висеть по причине переполненного диска. Проверьте сколько места у вас имеется:
df -h Filesystem Size Used Avail Use% Mounted on /dev/simfs 217G 149G 69G 69% /
При недостатке индексных дискрипоторов тоже будут проблемы. Убедитесь, что есть резерв:
df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/simfs 4.8M 1.7M 3.2M 35% /
Как видно, занято только 35%. Сообщите службе технической поддержки провайдера если выделенный лимит исчерпан.
Чаще всего пожирателем пространства бывают системные журналы, уделите время настройке ротации журналов.
А эта команда покажет кто съел пространство (для всего диска используем для указания каталога «/»):
du | sort -rn | head -n 20
При этом будет вычислен общий объем имеющегося у вас пространства, а также объем, занимаемый каждым каталогом, затем результат сортируется по убыванию объемов и, наконец, показываются только первые 20 строк упорядоченного списка. Подобные команды позволяют вам определить, кто является «пожирателем пространства», но оставляют на ваше усмотрение способы решения этой проблемы.
Чтобы узнать размер всех директорий в заданном каталоге, выполните команду:
find -maxdepth 1 -type d -print | xargs du -sk | sort -rn
Для поиска больших файлов можно использовать find
find -type f -size +100M
эта команда выдаст список файлов с размером более 100М
Команду можно развить до конструкции, выполняющей действия над найденными файлами:
find <> \;
На место симвовлов «<>» будут подставлены имена найденных файлов.
Подобная конструкция может вам скомрессировать или удалить ненужные файлы.
Только прежде хорошо анализируйте, что сочинили, — команда не будет задавать вопросы даже если возмётся удалять всё с вашего диска.
I/O нагрузка
Ваша система может сильно тормозить если постоянно находится в ожидании ввода/вывода данных. Это происходит при большой нагрузке (утилизации) устройств хранения, каналов связи и т.п. Команда iostat выдает статистику использования процессора, а также статистику ввода/вывода для устройств, разделов и сетевых файловых систем (NFS). В таком варианте она выдает параметры с интервалом 5 секунд
iostat -x 5 Linux 2.6.18-028stab053 (vt.helpdesk.by) 10/29/09 avg-cpu: %user %nice %system %iowait %steal %idle 13.52 1.55 3.75 33.44 0.00 47.74 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
На физическом сервере это выглядит так:
iostat -x 5 Linux 2.6.30-gentoo-r6 (k-pex) 29.10.2009 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 19.86 17.72 6.46 3.69 0.00 52.28 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 2.56 18.96 8.75 3.30 272.31 178.44 37.41 0.42 34.94 3.62 4.37 sdb 0.21 36.96 2.90 2.29 354.28 265.58 119.26 0.67 128.36 5.60 2.91
Сеть
Проблемы производительности связанные с сетью могут быть вызваны неверными настройками, например так могут влиять неправильные параметры в файлах:
/etc/hosts /etc/resolv.conf /etc/nsswitch.conf
Проверьте проверьте правильность назначения имени хоста
domainname -f
Вы должны получить имя подобное этому
server1.domain.com
Для проверки работы DNS
Проверка прямого разрешения имени хоста:
host helpdesk.by helpdesk.by has address 87.118.96.217
Проверка обратного разрешения имени хоста:
host 87.118.96.217 217.96.118.87.in-addr.arpa domain name pointer helpdesk.by.
Проверить канал до сервера командами
ping -c 4 87.118.96.217 traceroute -n 87.118.96.217
Если трассировка не прошла, значит вероятны проблемы с Интернет у провайдера или в магистральном канале.
Трассировка может не проходить при ограничениях на фаерволах.
Интерфейс
Поверьте ваши интерфейсы утилитой ifconfig. Утилита ethtool (доступно только для физических серверов) покажет важные параметры. Обратите внимание на параметры «Speed» и «Duplex».
ethtool eth0 Settings for eth0: Supported ports: [ MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 1 Transceiver: external Auto-negotiation: on Supports Wake-on: g Wake-on: d Link detected: yes
Трафик
Оцените трафик на ваших интерфейсах утилитой iftop:
iftop -Pn -i venet0
iftop показывает список самых активных клиентов, но можно измерить и активность отдельного адреса используя фильтры:
iftop -F 212.34.45.56/32 -i venet0
Службы, порты и соединения
Какие службы работают на вашем сервере, какие порты они слушают и на каких адресах?
ss -ln
netstat -lnutp
Атаки
Может быть кто атакует ваш сервер? Сколько соединений создано к вашему серверу?
netstat -ntu | wc -l
Посмотрим список самых агрессивных клиентов:
netstat -ntu | awk '' | cut -d: -f1 | sort | uniq -c | sort -n
Другие популярные средства стевого мониторинга
iptraf – сетевая статистика в режиме реального времени Команда iptraf запускает цветной интерактивный монитор, следящий за сетевыми IP. Этот монитор сетевых IP базируется на команде ncurses, которая выдает различную сетевую статистику, в том числе информацию о TCP, ведет подсчет UDP, выдает сведения о ICMP и OSPF, информацию о нагрузке на Ethernet, статистику по узлам сети, данные об ошибках контрольных сумм пакетов IP и многое другое. Монитор предоставляет в удобном для чтения виде следующие данные:
Статистику сетевого трафика по TCP подключениям
Статистику IP трафика по сетевым интерфейсам
Статистику сетевого трафика по протоколам
Статистику сетевого трафика по портам TCP/UDP и по размерам пакетов
Статистику сетевого трафика по адресам протоколов второго уровняtcpdump – детальный анализ сетевого трафика Команда tcpdump – простая команда, выдающая дамп сетевого трафика. Однако, вам нужно хорошо понимать протоколы TCP/IP для того, чтобы использовать это средство. Например, для того, чтобы показать информацию о трафике DNS , введите следующее:
tcpdump -i eth1 'udp port 53'
Для того, чтобы показать все IPv4 HTTP пакеты, идущие на порт и с порта 80, т.е. выдать только те пакеты, которые содержат данные, и, например, не учитывать пакеты SYN и FIN и пакеты ACK-only, введите следующее:
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
Для того, чтобы показать все сессии FTP для адреса 202.54.1.5, введите следующее:
tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'
Для того, чтобы показать все сессии HTTP для адреса 192.168.1.5, введите следующее:
tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'
Введите следующую команду и используйте для просмотра подробностей программу анализа wireshark:
tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80
Прочее
Иногда подвисание сервера может вызвать совершенно неожиданная причина.
Атака на ваш почтовый сервер может породить очередь сообщений из нескольких сотен тысяч сообщений. Решение — pfqueue для postfix MTA или qmHandle для Qmail MTA.
Иногда заканчивается место на диске, попытки его освободить ничего не дают, пространство снова исчезает. Это случается когда программа пытается создать файл, но для него не хватает места и файл остается открытым. В такой ситуации занятое файлом место может не учитываться утилитой du и его непросто найти. Остановите все сервисы, снова используйте du. Проверьте активные процессы и их аргументы ps -ax | less , используйте lsof для поиска открытых файлов.
20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор
Вам нужно контролировать функциональные характеристики Linux-сервера? Попробуйте для этого описанные ниже встроенные команды и несколько дополнительных инструментальных средств. В большинстве дистрибутивов Linux есть масса средств мониторинга. Эти средства измеряют характеристики, которые можно использовать для получения информации об активности системы. Вы можете воспользоваться этим инструментарием для поиска причин возникновения проблемы с производительностью.
Ниже перечислены лишь некоторые команды из большого числа тех, которые нужны при анализе системы и отладке сервера для поиска следующих проблем:
- Узкие места общего характера
- Узкие места, связанные с диском (дисковой памятью)
- Узкие места, связанные с процессором и оперативной памятью
- Узкие места, связанные с сетью
№ 1: top — команда выдачи данных об активности процессов
Программа top динамически выдает в режиме реального времени информации о работающей системе, т.е. о фактической активности процессов. По умолчанию она выдает задачи, наиболее загружающие процессор сервера, и обновляет список каждые пять секунд.
Рис.1: Linux команда — top
Наиболее часто используемые горячие клавиши
При работе команды top можно воспользоваться следующими полезными горячими клавишами:
Горячая клавиша Использование t Включение и выключение выдачи на экран суммарных данных. m Включение и выключение выдачи на экран информации об использовании памяти. A Сортировка строк по максимальному потреблению различных системных ресурсов. Полезна для быстрой идентификации задач, для которых в системе не хватает ресурсов. f Вход в меню интерактивного конфигурирования данных, выдаваемых на экран командой top. Полезна для настройки команды top для выполнения специфической задачи. o Позволяет вам интерактивно задавать порядок строк, выдаваемой командой top. r Изменение приоритета процессов с помощью команды renice. k Удаление процесса с помощью команды kill. z Переключение между цветным / монохромным вариантом выдачи изображения. № 2: vmstat — активность системы, информация о системе и аппаратных ресурсах
Команда vmstat выдает информационный отчет о активности процессов, памяти, свопинга, поблочного ввода/вывода, прерываний и процессора.
Пример вывода данных:
procs -----------memory---------- ---swap-- -----io---- r b swpd free buff cache si so bi bo 0 0 0 2540988 522188 5130400 0 0 2 32 1 0 0 2540988 522188 5130400 0 0 0 720 0 0 0 2540956 522188 5130400 0 0 0 0 0 0 0 2540956 522188 5130500 0 0 0 6 0 0 0 2540940 522188 5130512 0 0 0 536 0 0 0 2538444 522188 5130588 0 0 0 0 0 0 0 2490060 522188 5130640 0 0 0 18
--system-- -----cpu------ in cs us sy id wa st 4 2 4 1 96 0 0 1199 665 1 0 99 0 0 1151 1569 4 1 95 0 0 1117 439 1 0 99 0 0 1189 932 1 0 98 0 0 1187 1417 4 1 96 0 0 1253 1123 5 1 94 0 0
Выдача статистики использования памяти
Получение данных об активности / неактивности страниц памяти
№ 3: w — определяем, кто зарегистрирован и что они делают
Команда w выдает информацию о том, какие пользователи сейчас находятся в системе и какие процессы запущены от их имени.
# w username
# w vivekПример вывода данных:
17:58:47 up 5 days, 20:28, 2 users, load average: 0.36, 0.26, 0.24 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 10.1.3.145 14:55 5.00s 0.04s 0.02s vim root pts/1 10.1.3.145 17:43 0.00s 0.03s 0.00s w
№ 4: uptime — сообщает, как долго работает система
Команду uptime можно использовать с тем, чтобы определить, как долго работает сервер. Выдаются: текущее время, сколько времени работает система, сколько в текущий момент зарегистрировано пользователей и какова средняя нагрузка на систему в последние 1, 5 и 15 минут.
18:02:41 up 41 days, 23:42, 1 user, load average: 0.00, 0.00, 0.00
1 можно рассматриваться как оптимальное значение нагрузки. Нагрузка может меняться от системы к системе. Для системы с одним процессором приемлемым может считаться значение от 1 до 3, для мультипроцессорных систем — от 6 до 10.
№ 5: ps — список процессов
Команда ps выдаст краткий список текущих процессов. Для того, чтобы выбрать все процессы, используете параметр -A или -e:
Пример вывода данных:
PID TTY TIME CMD 1 ? 00:00:02 init 2 ? 00:00:02 migration/0 3 ? 00:00:01 ksoftirqd/0 4 ? 00:00:00 watchdog/0 5 ? 00:00:00 migration/1 6 ? 00:00:15 ksoftirqd/1 . . 4881 ? 00:53:28 java 4885 tty1 00:00:00 mingetty 4886 tty2 00:00:00 mingetty 4887 tty3 00:00:00 mingetty 4888 tty4 00:00:00 mingetty 4891 tty5 00:00:00 mingetty 4892 tty6 00:00:00 mingetty 4893 ttyS1 00:00:00 agetty 12853 ? 00:00:00 cifsoplockd 12854 ? 00:00:00 cifsdnotifyd 14231 ? 00:10:34 lighttpd 14232 ? 00:00:00 php-cgi 54981 pts/0 00:00:00 vim 55465 ? 00:00:00 php-cgi 55546 ? 00:00:00 bind9-snmp-stat 55704 pts/1 00:00:00 ps
Команда ps подобна команде top, но выдает больше информации.
Показать больше данных
Для того, чтобы включить режим максимальной выдачи данных (будут показаны аргументы командной строки, переданные в процесс):
Показать потоки (LWP и NLWP)
Показать потоки после процессов
Выдать список всех процессов на сервере
# ps ax
# ps axu
Выдать дерево процессов
# ps -ejH
# ps axjf
# pstree
Выдать информацию о параметрах безопасности
# ps -eo euser,ruser,suser,fuser,f,comm,label
# ps axZ
# ps -eM
Показать каждый процесс для пользователя Vivek
# ps -U vivek -u vivek u
Настроить выдачу данных в формате, определенном пользователем
# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan
Показывать ID процессов, запущенных под Lighttpd
# ps -C lighttpd -o pid=
# pgrep lighttpd
# pgrep -u vivek php-cgi
Показать имя для PID 55977
# ps -p 55977 -o comm=
Выдать 10 процессов, потребляющих наибольшее количество памяти
# ps -auxf | sort -nr -k 4 | head -10
Выдать 10 процессов, потребляющих наибольший ресурс процессора
# ps -auxf | sort -nr -k 3 | head -10
№ 6: free — использование памяти
Команда free показывает общее количество свободной и используемой системой физической памяти и памяти свопинга, а также размеры буферов, используемые ядром.
Пример вывода данных:
total used free shared buffers cached Mem: 12302896 9739664 2563232 0 523124 5154740 -/+ buffers/cache: 4061800 8241096 Swap: 1052248 0 1052248
№ 7: : iostat — средняя загрузка процессора, активность дисков
Команда iostat выдает статистику использования процессора, а также статистику ввода/вывода для устройств, разделов и сетевых файловых систем (NFS).
Пример вывода данных:
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009 avg-cpu: %user %nice %system %iowait %steal %idle 3.50 0.09 0.51 0.03 0.00 95.86 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 22.04 31.88 512.03 16193351 260102868 sda1 0.00 0.00 0.00 2166 180 sda2 22.04 31.87 512.03 16189010 260102688 sda3 0.00 0.00 0.00 1615 0
№ 8: sar — сбор и выдача данных о системной активности
Команда sar используется для сбора информации о системной активности и выдачи ее в виде отчета или ее сохранения. Чтобы увидеть значение считчика сетевой активности, введите:
# sar -n DEV | more
Для того, чтобы увидеть значения счетчиков сетевой активности, начиная с 24-го:
# sar -n DEV -f /var/log/sa/sa24 | more
С помощью команды sar Вы можете также выдавать данные в режиме реального времени:
Пример вывода данных:
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009 06:45:12 PM CPU %user %nice %system %iowait 06:45:16 PM all 2.00 0.00 0.22 0.00 06:45:20 PM all 2.07 0.00 0.38 0.03 06:45:24 PM all 0.94 0.00 0.28 0.00 06:45:28 PM all 1.56 0.00 0.22 0.00 06:45:32 PM all 3.53 0.00 0.25 0.03 Average: all 2.02 0.00 0.27 0.01
%steal %idle 0.00 97.78 0.00 97.52 0.00 98.78 0.00 98.22 0.00 96.19 0.00 97.70
№ 9: mpstat — использование мультипроцессора
Команда mpstat выводит данные об активности каждого имеющегося в наличие процессора, процессор 0 будет первым. Команда mpstat -P ALL выводит данные о среднем использовании ресурсов для каждого из процессоров:
# mpstat -P ALL
Пример вывода данных:
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009 06:48:11 PM CPU %user %nice %sys %iowait %irq 06:48:11 PM all 3.50 0.09 0.34 0.03 0.01 06:48:11 PM 0 3.44 0.08 0.31 0.02 0.00 06:48:11 PM 1 3.10 0.08 0.32 0.09 0.02 06:48:11 PM 2 4.16 0.11 0.36 0.02 0.00 06:48:11 PM 3 3.77 0.11 0.38 0.03 0.01 06:48:11 PM 4 2.96 0.07 0.29 0.04 0.02 06:48:11 PM 5 3.26 0.08 0.28 0.03 0.01 06:48:11 PM 6 4.00 0.10 0.34 0.01 0.00 06:48:11 PM 7 3.30 0.11 0.39 0.03 0.01
%soft %steal %idle intr/s 0.17 0.00 95.86 1218.04 0.12 0.00 96.04 1000.31 0.11 0.00 96.28 34.93 0.11 0.00 95.25 0.00 0.24 0.00 95.46 44.80 0.10 0.00 96.52 25.91 0.10 0.00 96.23 14.98 0.13 0.00 95.42 3.75 0.46 0.00 95.69 76.89
№ 10: pmap — использование процессами оперативной памяти
Команда pmap выдает данные о распределении памяти между процессами. Использование этой команды позволит найти причину узких мест, связанных с использованием памяти.
# pmap -d PID
Для того, чтобы получить информацию об использовании памяти процессом с pid # 47394, введите:
# pmap -d 47394
Пример вывода данных:
47394: /usr/bin/php-cgi Address Kbytes Mode Offset Device Mapping 0000000000400000 2584 r-x-- 0000000000000000 008:00002 php-cgi 0000000000886000 140 rw--- 0000000000286000 008:00002 php-cgi 00000000008a9000 52 rw--- 00000000008a9000 000:00000 [ anon ] 0000000000aa8000 76 rw--- 00000000002a8000 008:00002 php-cgi 000000000f678000 1980 rw--- 000000000f678000 000:00000 [ anon ] 000000314a600000 112 r-x-- 0000000000000000 008:00002 ld-2.5.so 000000314a81b000 4 r---- 000000000001b000 008:00002 ld-2.5.so 000000314a81c000 4 rw--- 000000000001c000 008:00002 ld-2.5.so 000000314aa00000 1328 r-x-- 0000000000000000 008:00002 libc-2.5.so 000000314ab4c000 2048 ----- 000000000014c000 008:00002 libc-2.5.so . . .. 00002af8d48fd000 4 rw--- 0000000000006000 008:00002 xsl.so 00002af8d490c000 40 r-x-- 0000000000000000 008:00002 libnss_fil 00002af8d4916000 2044 ----- 000000000000a000 008:00002 libnss_fil 00002af8d4b15000 4 r---- 0000000000009000 008:00002 libnss_fil 00002af8d4b16000 4 rw--- 000000000000a000 008:00002 libnss_fil 00002af8d4b17000 768000 rw-s- 0000000000000000 000:00009 zero (deleted) 00007fffc95fe000 84 rw--- 00007ffffffea000 000:00000 [ stack ] ffffffffff600000 8192 ----- 0000000000000000 000:00000 [ anon ] mapped: 933712K writeable/private: 4304K shared: 768000K
Последняя строка очень важна:
- mapped: 933712K общее количество памяти, отведенного под файлы
- writeable/private: 4304K общее количество приватного адресного пространства
- shared: 768000K общее количество адресного пространства, которое данный процесс использует совместно другими процессами.
№ 11 и № 12: netstat и ss — сетевая статистика
Команда netstat выдает информацию о сетевых соединениях, таблицах маршрутизации, статистике по интерфейсам, маскарадинге соединений и многоадресных рассылках. Команда ss используется для выдачи в дамп статистики о сокетах. Она позволяет выдавать информацию, аналогичную выдаваемой командой netstat. Подробное описание команд ss и netstat смотрите по следующим ссылкам:
- ss: Выдача информации о сокетах и сетевых соединениях TCP / UDP
- Получение подробной информации о подключениях к конкретным IP адресам с помощью команды netstat
№13: iptraf — сетевая статистика в режиме реального времени
Команда iptraf запускает цветной интерактивный монитор, следящий за сетевыми IP. Этот монитор сетевых IP базируется на команде ncurses, которая выдает различную сетевую статистику, в том числе информацию о TCP, ведет подсчет UDP, выдает сведения о ICMP и OSPF, информацию о нагрузке на Ethernet, статистику по узлам сети, данные об ошибках контрольных сумм пакетов IP и многое другое. Монитор предоставляет в удобном для чтения виде следующие данные:
- Статистику сетевого трафика по TCP подключениям
- Статистику IP трафика по сетевым интерфейсам
- Статистику сетевого трафика по протоколам
- Статистику сетевого трафика по портам TCP/UDP и по размерам пакетов
- Статистику сетевого трафика по адресам протоколов второго уровня

Рис.02; Общая статистика по интерфейсам: статистика трафика IP по сетевым интерфейсам

Рис.03: Статистика сетевого трафика по TCP подключениям
№14: tcpdump — детальный анализ сетевого трафика
Команда tcpdump — простая команда, выдающая дамп сетевого трафика. Однако, вам нужно хорошо понимать протоколы TCP/IP для того, чтобы использовать это средство. Например, для того, чтобы показать информацию о трафике DNS, введите следующее:
# tcpdump -i eth1 ‘udp port 53’
Для того, чтобы показать все IPv4 HTTP пакеты, идущие на порт и с порта 80, т.е. выдать только те пакеты, которые содержат данные, и, например, не учитывать пакеты SYN и FIN и пакеты ACK-only, введите следующее:
# tcpdump ‘tcp port 80 and (((ip[2:2] — ((ip[0]&0xf)<2)) - ((tcp[12]&0xf0)>>2)) != 0)’
Для того, чтобы показать все сессии FTP для адреса 202.54.1.5, введите следующее:
# tcpdump -i eth1 ‘dst 202.54.1.5 and (port 21 or 20’
Для того, чтобы показать все сессии HTTP для адреса 192.168.1.5, введите следующее:
# tcpdump -ni eth0 ‘dst 192.168.1.5 and tcp and port http’
Введите следующую команду и используйте для просмотра подробностей программу анализа wireshark:
# tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80
№ 15: strace — системные вызовы
Трассировка системных вызовов и сигналов. Это средство полезно для отладки веб сервера и решения других серверных проблем. О том, как использовать это средство и для чего нужна трассировка процессов, смотрите по ссылке strace.
№ 16: Директорий /Proc — различная статистика ядра
В директории /proc имеется подробная информация о различных устройствах и ядре Linux. Подробности смотрите в документации Linux kernel /proc. Самые общие примеры:
# cat /proc/cpuinfo
# cat /proc/meminfo
# cat /proc/zoneinfo
# cat /proc/mounts
№ 17: Nagios — мониторинг сервера и сети
Nagios — популярное open source приложение, предназначенное для мониторинга компьютерных систем и сетей. Вы можете легко следить за всеми своими хостами, сетевым оборудованием и сервисами. Приложение может посылать предупреждающее сообщение, когда что-то идет не так, как надо, а затем — еще одно, когда ситуация исправляется. Имеется приложение FAN — (). Назначение FAN — обеспечить установку Nagios, в том числе и инструментария, предоставляемого сообществом Nagios. FAN распространяется в виде CD образа в стандартном формате ISO, что упрощает установку сервера Nagios. Вдобавок на дистрибутиве имеется масса инструментальных средств, повышающих практическую отдачу от использования Nagios.
№ 18: Cacti — инструментальное веб приложение, используемое для мониторинга
Пакет Cacti является полностью сетевым графическим решением, созданным для добавления графической оболочки к мощному средству хранения данных RRDTool. В пакете Cacti уже имеются средства быстрой регистрации, графические шаблоны с расширенными возможностями, множество методов для сбора данных и пользовательские функции управления. Все это помещено в интуитивно понятный и удобный для использования интерфейс, что имеет смысл при установке в локальных сетях вплоть до сложных сетей с сотнями устройств. Пакет предоставляет данные о сети, процессоре, памяти, зарегистрированных пользователях, серверах Apache, DNS и многое другое. По следующей ссылке смотрите описание, как под CentOS / RHEL установить и сконфигурировать сетевое графическое средство Cacti.
№ 19: KDE System Guard — графический монитор, выдающий сведения о системе в режиме реального времени
KSysguard — сетевое приложение для KDE, осуществляющее мониторинг системы и задач. Это средство может работать в ssh сессии. В нем имеется масса возможностей, например, такие, как клиент/серверные технологии, что позволяет осуществлять мониторинг локальных и удаленных хостов. В графической оболочке используются так называемые сенсоры, которые собирают информацию, выдаваемую приложением. Сенсор может возвращать либо простое значение, либо более сложно сформированные данные, например, таблицы. Для каждого вида данных предлагается один или несколько вариантов выдачи данных. Изображаемые данные сгруппированы в виде отдельных листов, которые можно сохранять и загружать независимо друг от друга. Таким образом, KSysguard не только менеджер простых задач, но также и мощное средство для управления большим серверным хозяйством.

Рис.05: KDE System Guard (рисунок взят из Википедии)
Подробности использования смотрите по следующей ссылке: Руководство по KSysguard.
№ 20: Gnome System Monitor — графическое средство выдачи информации о системе в режиме реального времени
Приложение System Monitor позволит вам получить базовую информацию о системе, а также следить за системными процессами, использованием системных ресурсов и системными файлами. Вы также можете использовать System Monitor для изменения характеристик своей системы. Хотя это не такое мощное приложение, как System Guard для KDE, оно предоставляет основную информацию, которая может быть полезной для пользователей — новичков:
- Отображается различная основная информация об аппаратном и программном обеспечении компьютера
- Версия ядра Linux
- Версия GNOME
- Аппаратные средства
- Установленная оперативная память
- Процессоры и их скорость
- Статус системы
- Имеющееся в наличии дисковое пространство
- Процессы
- Память и пространство своппинга
- Использование сети
- Файловые системы
- Список всех смонтированных файловых систем вместе с основной информацией о каждой из них

Рис.6: Приложение Gnome System Monitor
Бонус: Дополнительные инструментальные средства
И еще несколько инструментальных средств:
- nmap — сканирует ваш сервер на предмет открытых портов..
- lsof — перечисляет открытые файлы, сетевые соединения и еще многое.
- ntop — инструментальное веб средство ntop является наилучшим средством, следящим за использованием сети, причем это делается точно так, как с помощью команды top просматриваются процессы, т.е. это программное обеспечение мониторинга сетевого трафика. Вы можете следить за состоянием сети и распределением трафика по различным протоколам, таким как UDP, TCP, DNS, HTTP и другим.
- Conky — Еще одно хорошее средство мониторинга, предназначенное для использования в X Window. Оно хорошо конфигурируемое и позволяет следить за многими системными переменными, в том числе состоянием процессора, памяти, пространства свопинга, дисковыми носителями, температурой, процессами, сетевыми интерфейсами, зарядом батареи, системными сообщениями, поступающими письмами и т.д.
- GKrellM — Может использоваться для мониторинга состояния процессоров, оперативной памяти, жестких дисков, сетевыми интерфейсами, локальными и удаленными почтовыми ящиками и многими другими вещами.
- vnstat — vnStat является консольным монитором сетевого трафика. Она позволяет для выбранных интерфейсов вести журнал сетевого трафика в течение часов, дней и месяцев.
- htop — улучшенная версия интерактивного просмотрщика процессов top. htop позволяет просматривать процессы в виде дерева процессов.
- mtr — mtr объединяет в одной сетевой инструментальной программе функциональность программ traceroute и ping.