disk IO (как узнать кто обращается к диску)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
povert.org
Сообщения: 43

disk IO

Сообщение povert.org »

Имеется сервер на линуксе 2.4 с фс райзер, машинка старенькая и диски там (жесткие) постоянно работают, хоть и выставленно в биосе идти спать если 2 минуты не активны.

Есть такое время суток, например ночь или воскресенье, когда сервер должен быть включен, но работы нет долгие промежутки времени, так вот чтоб положить диски спать нужно чтоб никто к ним не обращался ;) Если бы я знал кто обращается почем зря, я бы (если возможно) с ним (процессом) разобрался бы.

Вопрос: Как узнать какой процесс обращается к диску в единицу времени?
Slackware Linux 10.1 on Dell latitude c600 pIII-1Ghz (laptop) && Slackware Linux 10.0 on AMD 2000+ (table PC) -- more on povert.org Днепропетровск, Украина

+ webcam !!!!
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: disk IO

Сообщение Liksys »

povert.org писал(а):
13.04.2006 14:44
Имеется сервер на линуксе 2.4 с фс райзер, машинка старенькая и диски там (жесткие) постоянно работают, хоть и выставленно в биосе идти спать если 2 минуты не активны.

Есть такое время суток, например ночь или воскресенье, когда сервер должен быть включен, но работы нет долгие промежутки времени, так вот чтоб положить диски спать нужно чтоб никто к ним не обращался ;) Если бы я знал кто обращается почем зря, я бы (если возможно) с ним (процессом) разобрался бы.

Вопрос: Как узнать какой процесс обращается к диску в единицу времени?

lsof <device> (выведет список процессов, обращающихся к девайсу)
Но лучше использовать так: lsof +d <mount_point> (Делает то же самое, но нужно указать точку монтирования)
Спасибо сказали:
Аватара пользователя
povert.org
Сообщения: 43

Re: disk IO

Сообщение povert.org »

[quote]
lsof <device> (выведет список процессов, обращающихся к девайсу)
Но лучше использовать так: lsof +d <mount_point> (Делает то же самое, но нужно указать точку монтирования)
[quote]

Вот спасибо :) А я то думал нужно что-то эдакое скачивать :) Завтра мне будет счастье ;)
Slackware Linux 10.1 on Dell latitude c600 pIII-1Ghz (laptop) && Slackware Linux 10.0 on AMD 2000+ (table PC) -- more on povert.org Днепропетровск, Украина

+ webcam !!!!
Спасибо сказали:
Аватара пользователя
povert.org
Сообщения: 43

Re: disk IO

Сообщение povert.org »

lsof, насколько я понял, говорит о том какие файлы открыты какими процессами. Но это немного не то что я хотел :( Получается какой-то процесс открывает файл раз в 5 секунд, пишет туда что-то и закрывает его.

Как быть в этой стуации? как узнать какой процесс и какой файл?
Slackware Linux 10.1 on Dell latitude c600 pIII-1Ghz (laptop) && Slackware Linux 10.0 on AMD 2000+ (table PC) -- more on povert.org Днепропетровск, Украина

+ webcam !!!!
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: disk IO

Сообщение Liksys »

povert.org писал(а):
14.04.2006 14:11
lsof, насколько я понял, говорит о том какие файлы открыты какими процессами. Но это немного не то что я хотел :( Получается какой-то процесс открывает файл раз в 5 секунд, пишет туда что-то и закрывает его.

Как быть в этой стуации? как узнать какой процесс и какой файл?

напиши скрипт, который будет каждую секунду выполнять эту команду с перенаправлением в лог. Через час посмотришь его, найдешь твои процессы.
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: disk IO

Сообщение xorader »

> напиши скрипт, который будет каждую секунду выполнять эту команду с перенаправлением в лог. Через час посмотришь его, найдешь твои процессы.

это очень корявое решение... нужно ядро ковырять, ищите в гугле вдумчиво... я практически уверен, что решение есть
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
povert.org
Сообщения: 43

Re: disk IO

Сообщение povert.org »

я не умею ковырять ядро до такой степени :( Да и для этой задачи не хочеться особо изошряться :( Написал скрипт что запускает lsof на девайсе без останова и закрыл процессы что я знаю. В итоге диск похрипывает раз так в секунд 10-20, из-за этого спать не ложиться, а этот скрипт ничегошеньки не выдает. Прямо безобразие!

Мне виндузные админы тыкали какой-то прогой (не помню название) говорят таких много в винде и показывали как она работает - так вот эта програмка высыпает инфу по мере запросов к диску.

Неуж-то под линукс такой нет? Неуж-то никто на этом форуме не сталкивался с подобной задачей? У меня сервер работает нормально уже 2 месяца и заменяет 5 виндовых админов, но вот вчера все встало - райзерфс сказал - бэд-блок и что-то типа купи новый диск, пришлось перегружать :( Хотя диск вроде после перезагрузки дальше работает ;) Так что я правильно тогда еще решил диски спать ложить, но теперь опять решил поискать что-то, все безуспешно.

Помогите!
Slackware Linux 10.1 on Dell latitude c600 pIII-1Ghz (laptop) && Slackware Linux 10.0 on AMD 2000+ (table PC) -- more on povert.org Днепропетровск, Украина

+ webcam !!!!
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: disk IO

Сообщение serzh-z »

povert.org писал(а):
28.04.2006 18:29
Мне виндузные админы тыкали какой-то прогой (не помню название) говорят таких много в винде и показывали как она работает - так вот эта програмка высыпает инфу по мере запросов к диску.

diskmon Руссиновича, что ли? Который устанавливает свой драйвер и перехватывает все запросы к диску.
Если уж так всё серьёзно, то в Линуксе такое (модуль ядра) было бы проще реализовать, чем Руссиновичу, т.к. в случае с Линуксом всё открыто.

povert.org писал(а):
28.04.2006 18:29
Так что я правильно тогда еще решил диски спать ложить, но теперь опять решил поискать что-то, все безуспешно.


Имхо, ложить диски спать - это в корне неверное решение, особенно для старого винта. Который и так уже сыпится, а тут ещё постоянные запуски/остановки и перепады температуры. Из-за этого усыпания он только вконец развалится.
Спасибо сказали:
Аватара пользователя
povert.org
Сообщения: 43

Re: disk IO

Сообщение povert.org »

Имхо, ложить диски спать - это в корне неверное решение, особенно для старого винта. Который и так уже сыпится, а тут ещё постоянные запуски/остановки и перепады температуры. Из-за этого усыпания он только вконец развалится.


Вот если он спать пойдет в субботу то аж до понедельника проспит в случае если все в воскресенье и субботу выходные, а ежели нет, тогда он проснется и... Иначе он все выходные будет включен и похрипывать.. Ну я не очень силен в механических свойствах

diskmon Руссиновича, что ли? Который устанавливает свой драйвер и перехватывает все запросы к диску.
Если уж так всё серьёзно, то в Линуксе такое (модуль ядра) было бы проще реализовать, чем Руссиновичу, т.к. в случае с Линуксом всё открыто.


Я же не говорю, что из-за какой-то проги буду винды ставить - они просто не справятся с моими амбициями на 166 пеньке ;) Да я и не сумею виндовс администрировать наверное... :( А сам написать драйвер не могу или не хочу так что мне все-равно где там что открытое изи закрытое

Вы мне лучше ссылку дайте, где скачать эти ваши открытые исходники для мониторинга дисков, а я их буду использовать не как бесплатное пиво, а как хочу с вашего позволения...
Slackware Linux 10.1 on Dell latitude c600 pIII-1Ghz (laptop) && Slackware Linux 10.0 on AMD 2000+ (table PC) -- more on povert.org Днепропетровск, Украина

+ webcam !!!!
Спасибо сказали:
Archont
Сообщения: 76

Re: disk IO

Сообщение Archont »

А вот мне другое интересно: ты уверен, что сумеешь усыпить винчестер на P166?
Лично я не очень уверен.
Спасибо сказали:
Аватара пользователя
povert.org
Сообщения: 43

Re: disk IO

Сообщение povert.org »

Archont писал(а):
10.05.2006 07:57
А вот мне другое интересно: ты уверен, что сумеешь усыпить винчестер на P166?
Лично я не очень уверен.

hdparm -y /dev/hda
у меня работает, да и в биосе прописано спать через 2 минуты и он спит, если нет активности. Правда теперь он не спит потому как судя по всему есть активность.

А вообще вопрос был о том как ПРОВЕРИТЬ кто обращается к диску, а не как его усыпить, я также не спрашивал, стоит ли мне это вообще делать ;)

Я просто хочу и все тут!
Вот когда кто-нибудь подскажет, тогда и буду думать стоит-не стоит, смогу - не смогу. А вопрос пока не решен :( Похоже для Линукс нет таких средств... хотя это очень странно :(
Slackware Linux 10.1 on Dell latitude c600 pIII-1Ghz (laptop) && Slackware Linux 10.0 on AMD 2000+ (table PC) -- more on povert.org Днепропетровск, Украина

+ webcam !!!!
Спасибо сказали: