Юникс вэй

8 апр 09, 13:05
Измеряем производительность системы в linux, часть 1



Благо, средств навалом. Как найти средства, которые наиболее подходят администратору системы? Попробуем разобраться.
Объем памяти будем смотреть командой free:


По умолчанию объем показывается в килобайтах. Это можно именить параметрами -m (мегабайты) -g (гигабайты):


Обратите внимание на столбцы buffers и cached. В них показана свободная память, которую система забрала на дисковые буферы и кэш. Вот эти позиции влияют на быстродействие очень сильно. Чем больше там циферки (а они больше при наличии большего объема памяти), тем быстрее выполняются дисковые операции. Проверить это можно с помощью команды hdparm:


В первом случае использовался метод чтения без использования кэша, во втром (-T) - с использованием кэша. Результаты говорят сами за себя.
Достаточно красноречивым инструментом является vmstat. Он позволяет оценить сразу несколько параметров работы системы, в том числе в динамике:


Если vmstat запустить без параметров, то он покажет среднюю статистику с начала загрузки системы. Столбцы означают следующее:
Раздел procs:
r — количество ожидающих процессов
b — количество спящих процессов
Раздел memory:
swpd — объем используемой виртуальной памяти
free — объем свободной виртуальной памяти
buff — объем памяти, занятой под дисковые буферы
cache - объем памяти, занятой под дисковый кэш
Раздел swap:
si — объем памяти, подкачанной с диска
so — объем памяти, выгруженной на диск
Раздел io:
bi — количество блоков, отправленных на блочное устройство
bo — количество блоков, прочитанных с блочного устройства
Раздел system:
in — количество прерываний в секунду
cs — количество переключений контекста в секунду
Раздел cpu:
us — время выполнения кода уровня пользователя (в процентах от общего времени)
sy — время выполнения кода уровня системы (в процентах от общего времени)
id — время простоя процессора (в процентах от общего времени)
wa — время ожидания ввода/вывода
st — время работы виртуальной машины уровня ядра

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

Продолжение следует...

Комментарии

@ 8.4.09, 13:22, PAVka
ме канешн стока инфы не нужно и хватает htop
http://htop.sourceforge.net/
но инетерсная инфа
оформь в хаутушку какую нить или лучше начни книгу по утилиткам

/me требует хорошую книгу по шелскриптингу от гсерга !!!

@ 8.4.09, 13:37, Линуксоид
Лучше чем Тэйнсли я все равно не напишу, так что читай его
Д. Тэйнсли. Linux и Unix: программирование в shell. Руководство разработчика. Пер. с анг. - К.: Издательская группа BHV, 2001. - 464 c.

@ 8.4.09, 13:52, GENA
хм, а что за непонятные символы перед командой, те, которые в скобках....?

@ 8.4.09, 13:59, Штольц
А если
total used free shared buffers cached
Mem: 1033972 993480 40492 0 31244 701900

то это плохо?

@ 8.4.09, 14:01, Линуксоид
2Штольц: Очень даже хорошо, 700 мегабайт почти под кэш. hdpam-ом затести разницу в скорости

@ 8.4.09, 14:14, Штольц
root@server [~]# /sbin/hdparm -t /dev/sda3

/dev/sda3:
Timing buffered disk reads: 186 MB in 3.01 seconds = 61.84 MB/sec
root@server [~]# /sbin/hdparm -T /dev/sda3

/dev/sda3:
Timing cached reads: 4268 MB in 2.00 seconds = 2133.67 MB/sec

@ 8.4.09, 14:18, Штольц
А где этим параметром cached поуправлять?

@ 8.4.09, 14:48, Линуксоид
не поуправлять. Там динамически выделяется. Судя по твоим данным - и не надо. Два гига в секунду - хороший показатель чтения

@ 8.4.09, 15:32, Dar_and_Andr
Это тебе не мелочь по карманам тырить)

@ 8.4.09, 16:38, username
Бесперебойник не забудьте поставить

@ 8.4.09, 17:19, Линуксоид
2username: а кто ж серверы без ups'а держит




Добавить комментарий
  • Об этом дневнике 

  • Мой дневник:
  • Создать/изменить дневник
  • Добавить запись
  • Посмотреть комментарии