как узнать какой процесс использует жесткий диск
Как узнать какие программы используют/обращаются к жесткому диску?
Наверное, каждый пользователь сталкивался с такой ситуацией, когда к диску идет постоянное обращение, несмотря на то, что вы никаких программ не запускали. Например, мигает лампочка на внешнем диске. И это при том, что подключили вы его давно и никак не используете. Обычно, в такой момент возникает вполне резонный вопрос «Как узнать какие программы используют жесткий диск?».
Операционная система Windows и различные программы могут обращаться к дискам без вашего ведома. Например, приложение выполняет задание по расписанию. Или же Windows 7 запустила дефрагментацию диска. Возможно, у вас просто запущены программы в фоновом режиме, которые периодически отслеживают конфигурацию компьютера, включая наличие дисков. Причин может быть уйма.
Существует много способов определить какие именно программы или части операционной системы получают доступ к вашему диску. Но, в большинстве случаев, они дают либо общие сведения, такие как трафик, либо достаточно подробную техническую информацию, которая будет сложно воспринимаемой обычными пользователями, либо от пользователя потребуются неплохие технические познания.
В первом случае, из общей картины достаточно сложно хоть как-нибудь понять, кто же именно использует диск. Обычно, пользователю выводится уже суммированная информация, такая как трафик.
Во втором случае, наличие большого количества подробностей усложняет саму задачу поиска. Например, можно использовать стандартный монитор ресурсов Windows 7 из диспетчера задач. Но, у него есть свои недостатки, такие как невозможность остановить сканирование (каждую секунду список меняется), разрозненность (у вас есть только имя процесса и путь до исполняемого файла; остальную информацию нужно отдельно смотреть).
В третьем случае, обычно речь идет о программах, которые предоставляют такую информацию как дополнительную функциональность. А это, прежде всего, означает, что вам нужно знать ответы на вопросы «Как открыть? Где находится? Куда ткнуть?». Так же это означает, что информация может быть обрезанной. Например, такая функция может показывать не все программы и компоненты системы, а только определенную группу файлов.
Однако, существует достаточно простая бесплатная программа под названием «What’s My Computer Doing?» (WMCD), чьей единственной целью является определить кто же именно обращается к диску.
WMCD сканирует обращение к диску в режиме реального времени, позволяет получить достаточно исчерпывающую информацию о каждой программе, а так же предлагает ряд различных действий.
В верхней панели главного окна отображаются все программы и процессы, которые используют жесткий диск в настоящий момент времени. Сам список обновляется каждую секунду. Поэтому если вам нужно на время остановить процесс мониторинга, то необходимо поставить галочку напротив пункта «Freeze» в верхней правой части экрана. Чтобы узнать подробности о процессе, просто выберите его из списка, и в левой нижней части экрана отобразится сводная информация (название, время установки, подробное описание и т.д.). Обычно, это именно та информация, которую хочется узнать в первую очередь.
Примечание: Если вы знаете какая программа или какой процесс загружает ваш компьютер, а так же видите сводную дополнительную информацию, то этого вполне достаточно для составления определенных выводов и если необходимо, то для более детального анализа. Например, если вы закрыли программу, но, тем не менее, обнаружили ее в этом списке, то это, как минимум, означает, что программа продолжает исполняться в фоновом режиме. Или, например, если вы заметили в списке какой-либо странный процесс или программу, дополнительная информация которого вызвала еще большие вопросы. То вам всегда будет с чего начать поиск в интернете.
В правой средней части WMCD располагается блок с различными кнопками действий. Вы можете посмотреть свойства исполняемого файла, открыть каталог, в котором находится сам файл, попробовать завершить процесс, а так же отправить файл на online сканирование антивирусами.
Online сканирование предлагается провести на сайте Kaspersky и VirusTotal. К сожалению, тут у программы есть небольшое расхождение с реальностью. Дело в том, что при нажатии на кнопку для отправки на сайт Kaspersky, открывается страница с перечнем бесплатных продуктов, а не форма для загрузки и сканирования файла. Тем не менее, в случае VirusTotal программа корректно отрабатывает. И если учитывать, что Kaspersky находится в перечне антивирусов VirusTotal, то данный недостаток становится не очень кричным.
Примечание: Конечно, online проверка не может дать 100% гарантий, но, согласитесь, что проверка одной-двумя утилитами никак не сравнится с проверкой 55-ю различными антивирусами, среди которых достаточно много известных и проверенных временем.
Сайт разработчика и ссылка на скачивание находятся здесь. Установочный файл весит всего 480Кб. Программа поддерживает Windows XP/2003/Vista/7/8.
Примечание: Если поставить программу в автозагрузку, то при старте системы возможно появление небольшой задержки.
Теперь вы знаете как узнать какие программы используют/обращаются к вашему жесткому диску.
Какой процесс нагружает жёсткий диск?
Как отследить работу процесса с локальными дисками и узнать, какой конкретно процесс нагружает жёсткий диск?
Лично я не раз время от времени задавался вопросом, обозначенным в заголовке статьи: как узнать на какой процесс, запущенный в системе, сейчас откликается мой жёсткий диск? Причин на то обычно было несколько.
Для этого мы можем использовать возможности двух утилит. Подойдут Диспетчер задач Windows и необходимый для скачивания Process Explorer. Разница между ними в решении задачи, однако, есть: первый из них отобразит нужную информацию по текущей сессии, второй – с момента запуска программы.
Какой процесс нагружает жёсткий диск? Узнаем через Диспетчер задач.
Диспетчер задач Windows по умолчанию не богат на функционал и не отображает дисковую активность. Однако кое-что из него выудить можно: активируем опцию отображения списка активных процессов списком (покажу на примере Windows 7).
и согласимся с добавлением. После этого в окне Диспетчера появятся два дополнительных столбца, с помощью которых можно будет отследить активность процессов. Отсортируйте их по степени нагрузки на диск, нажимая по заголовку каждого из столбцов. Так, с помощью колонки Записано байт я с лёгкостью вычисляю, какой конкретно процесс нагружает жёсткий диск. Помните, что на экране информация в байтах.
Какой процесс нагружает жёсткий диск? Узнаем через Process Explorer.
Кто не знает, это расширенный Диспетчер задач, права на который с некоторых пор принадлежат Microsoft. Это лучшая рекомендация для любителей семейства этих ОС. Установки не требуется. Скачать бесплатно Process Explorer можно здесь.
И здесь, кстати, по умолчанию тоже выдаётся только первостепенная информация. Расширим информативность окна утилиты. У меня на английском.
Также соглашаемся. Информация по работе с объёмами данных на процесс отображается в привычном для пользователя исчислении. Сортировать процессы по занятости можно по примеру Диспетчера, щёлкая по шапке колонок.
Что умеет монитор ресурсов?
Большинство пользователей зря игнорирует этот мощный и, кстати, специально созданный инструмент для диагностики неисправностей. Все или почти постоянные и время о времени случающиеся подвисы или фризы системы отлично здесь регистрируются. Причём практически в режиме онлайн. Попасть в него легко прямо из Диспетчера задач:
в монитор ресурсов из диспетчера задач windows 10
Этот вариант успешно применяется тогда, когда жёсткий диск нагружается на 100%, а Диспетчер задач и его аналоги ничего толкового по этому поводу сказать не могут:
Картинка монитора по процессам меняется постоянно, и вам стоит лишь присмотреться к именам служб, которые производят запись или чтение с диска. Это не статья о том, как избавиться от загрузки каким-либо процессом или службой вашего HDD или SSD на 100%. Но именно благодаря информации оттуда я чаще всего рекомендую пользователям проверить службы:
Вот как это примерно выглядит в рисунках:
После перезагрузки системы есть смысл проверить проделанное и принимать решение по конкретному процессу.
Как узнать какой процесс использует жесткий диск
Время использования жесткого диска и очередь процессов
По мнению большинства ИТ-специалистов, главная причина замедления быстродействия системы — повреждение жесткого диска или нехватка свободного пространства на нем. Однако время использования жесткого диска является не менее важным показателем. Под этим понимается время работы винчестера в процентном отношении к времени работы системы. Если жесткий диск используется, скажем, 80 % времени, производительность системы резко сокращается.
Другой фактор, который также следует учитывать, — это среднестатистическая длина очереди процессов, ожидающих возможности обратиться к жесткому диску. Этот показатель в сочетании с предыдущим не только свидетельствует о том, насколько интенсивно используется винчестер, но и сигнализирует о потенциальных проблемах.
К примеру, если диск используется 40 % времени, а коэффициент средней длины очереди составляет 2 или меньше, значит, винчестер справляется с возложенными на него задачами. Но если и время использования, и длина очереди очень высоки (80 % и 2 или более), значит, процессам приходится долго ждать возможности воспользоваться жестким диском, а это неизбежно приводит к ощутимому снижению быстродействия.
Оценка производительности жесткого диска
Чтобы оценить состояние жесткого диска, необходимо вычислить время его использования и среднюю длину очереди.
Для начала стоит осуществить дефрагментацию всех разделов диска, чтобы обеспечить непрерывность файлов и ускорить процессы чтения и записи. Утилиту «Дефрагментация диска» (Disk Defragmenter) можно запустить из меню «Пуск | Все программы | Стандартные | Служебные» (Start | All Programs | Accessories | System Tools).
После дефрагментации запустите Монитор производительности (Performance Monitor) из раздела «Администрирование» в Панели управления (Control Panel | Administrative Tools).
Совет: когда откроется окно Монитора производительности, выделите все ранее запущенные счетчики и нажмите [Delete]. Каждый запущенный счетчик влияет на быстродействие системы, пусть даже незначительно, поэтому для получения максимально точного результата большинство счетчиков следует отключить.
В окне Монитора производительности проделайте следующие действия:
1. Нажмите значок «Плюс». Откроется диалоговое окно «Создание счетчика» (Add Counters).
2. Выберите опцию «PhysicalDisk» из выпадающего списка «Объект быстродействия» (Performance Object). Откроется список счетчиков производительности физического диска.
3. Выберите счетчик «%Disk Time» и нажмите кнопку «Все экземпляры» (All Instances), чтобы измерить производительность всех жестких дисков.
4. Нажмите кнопку «Создать» (Add), чтобы добавить счетчик в Монитор производительности.
5. Выберите счетчик «Avg. Disk Queue Length», нажмите кнопку «Все экземпляры», кнопку «Создать», а затем закройте окно.
После этого Монитор производительности начнет анализ использования диска (рис. A).
Рисунок A. Цифры под графиком указывают на время использования Диска 0 в процентах.
Линии графика соответствуют выбранным счетчикам. К примеру, на рис. A преобладает розовая линия, соответствующая средней длине очереди для разделов «C:» и «D:» Диска 0. Чтобы получить конкретные показатели, нужно просто выделить соответствующий счетчик. Всегда лучше ориентироваться на цифры, а не на график — он может оказаться обманчивым, особенно если шкала выбрана неправильно.
Сужаем круг поиска
Теперь давайте попытаемся выяснить, какой процесс поглощает ресурсы жесткого диска. Одновременно нажмите [Ctrl]+[Alt]+[Delete], чтобы вызвать диалоговое окно «Безопасность Windows» (Windows Security), и выберите опцию «Диспетчер задач» (Task Manager). Диспетчер задач показывает, сколько ресурсов оттягивает на себя каждый запущенный процесс.
По умолчанию сведения об использовании жесткого диска в Диспетчере задач не представлены, но его можно настроить соответствующим образом. Для этого откройте вкладку «Процессы» (Processes), чтобы увидеть список запущенных процессов. Затем выберите опцию «Настроить поля» (Select Columns) в меню «Вид» (View). Откроется список ресурсов, за использованием которых можно наблюдать с помощью Диспетчера задач.
Я бы посоветовал снять флажки со всех полей, кроме «Ввод/Вывод — Чтение (байт)» (I/O Read Bytes) и «Ввод/Вывод — Запись (байт)» (I/O Write Bytes). Нажмите «OK». Теперь Диспетчер задач будет показывать, какой объем данных в байтах прочитывает и записывает каждый процесс (рис. B).
Внимание нужно обращать на процессы, показатели чтения и записи для которых очень быстро меняются. Периодически показатели изменяются для каждого процесса, но если изменения наблюдаются постоянно, значит, именно этот процесс поглощает ресурсы жесткого диска.
Рисунок B. Чтобы «убить» процесс, поглощающий системные ресурсы, выделите его и нажмите кнопку «Завершить процесс» (End Process).
Если проблемный процесс принадлежит операционной системе Windows, скорее всего, чрезмерное использование ресурсов жесткого диска связано с пробуксовкой.
Подкачка и пробуксовка
Подкачкой называется процесс перемещения блоков памяти между физической и виртуальной памятью. Это не самое удачное решение проблемы нехватки памяти, но в среде Windows оно широко практикуется и ничего ненормального в этом нет. Если коротко, всякий раз, когда системе необходимо прочитать данные из виртуальной памяти, соответствующий блок перемещается в физическую память системы. Если это происходит слишком часто и в больших объемах, возникает эффект пробуксовки.
Если ресурсы жесткого диска поглощает процесс, не принадлежащий операционной системе, скорее всего, это связано с функционированием отдельной службы.
Будьте осторожны: при завершении процесса, поглощающего ресурсы жесткого диска, это сказывается на показателях времени процессора и памяти.
Обычный круг подозреваемых
Теперь вы знаете, как высокие показатели времени использования диска связаны со снижением быстродействия и как можно вычислить процесс, поглощающий системные ресурсы. Данные Монитора производительности позволяют выяснить, связано ли снижение производительности с состоянием жесткого диска, а Диспетчер задач помогает найти виновника.
Мониторинг обращения жесткого диска
Программа Process Monitor является усовершенствованным инструментом отслеживания для Windows, который в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков. В этой программе сочетаются возможности двух ранее выпущенных программ от Sysinternals: Filemon и Regmon, а также огромный ряд улучшений, включая расширенную и безвредную фильтрацию, всеобъемлющие свойства событий, такие как ID сессий и имена пользователей, достоверную информацию о процессах, полноценный стек потока со встроенной поддержкой всех операций, одновременную запись информации в файл и многие другие возможности. Эти уникальные возможности делают программу Process Monitor ключевым инструментом для устранения неполадок и избавления от вредоносных программ.
Программа Process Monitor работает в ОС Windows 2000 с пакетом обновлений 4 (SP4) с накопительным пакетом обновлений 1, Windows XP с пакетом обновлений 2 (SP2), Windows Server 2003 с пакетом обновлений 1 (SP1) и Windows Vista, а также x64-версии ОС Windows XP, Windows Server 2003 с пакетом обновлений 1 (SP1) и Windows Vista.
Пользовательский интерфейс программы Process Monitor и параметры схожи с интерфейсом и параметрами программ Filemon и Regmon, но в программе Process Monitor есть ряд существенных улучшений, таких как:
отслеживание запуска и завершения работы процессов и потоков, включая информацию о коде завершения;
отслеживание загрузки образов (библиотек DLL и драйверов устройств, работающих в режиме ядра);
больше собираемых данных об параметрах операций ввода и вывода;
безвредные фильтры позволяют устанавливать фильтры, которые не будут приводить к потере данных;
сбор стеков потоков для каждой операции позволяет в большинстве случаев определить исходную причину выполнения операции;
достоверный сбор информации о процессах, включая путь к образу процесса, командную строку, а также ID пользователя и сессии;
настраиваемые и перемещаемые колонки для каждого свойства события;
фильтры можно установить на любое поле с данными, включая поля, которые не являются колонками;
усовершенствованная архитектура записи журналов расширяет возможности программы до десятков миллионов зарегистрированных событий и гигабайтов записанных данных о событиях;
дерево процессов отображает отношения между всеми процессами, перечисленными в сведениях трассировки;
основной формат журнала сохраняет все данные, чтобы их можно было загрузить в другом экземпляре программы Process Monitor;
подсказки к процессам для простого просмотра информации об образе процесса;
детальные подсказки позволяют получить удобный доступ к форматированным данным, которые не помещаются в колонке;
прекращаемый поиск;
запись в журнал всех операций во время загрузки системы.
Выявляем процессы с дисковой активностью в Linux
TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.
Введение
После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Это аномально большая цифра, такими темпами гарантийный TBW будет превышен раньше достижения 5-летнего срока гарантии диска. Да и не может мой компьютер писать по 93 гигабайта в сутки! Нужно проверить, сколько данных пишется на диск за 10 минут…
Total:
Writes Queued: 24,712, 2,237MiB
Writes Completed: 25,507, 2,237MiB
Write Merges: 58, 5,472KiB
Определение количества записанных данных на дисковое устройство
Мой SSD хранит количество записанных данных в параметре 241 Total_LBAs_Written, в логических блоках (LBA), а не в байтах. Размер логического блока в моём случае — 512 байт (его можно увидеть в выводе smartctl, в Sector Size). Чтобы получить байты, нужно умножить значение параметра на 512.
Запустите следующую команду, чтобы собрать информацию за 10 минут, где /dev/sdb — ваш диск:
btrace позволяет наглядно посмотреть реальное количество записанных данных, но понять, какие именно программы совершают запись, из её вывода сложно.
Определение программ, производящих запись на накопитель
Программа iotop покажет процессы, пишущие на диск, и размер записанных данных.
Наиболее удобный вывод обеспечивают следующие параметры:
В глаза бросается Firefox, записавший 283 мегабайта за несколько минут работы iotop.
Определение файлов, в которые производится запись
Информация о процессе, насилующим диск — хорошо, а пути, по которым производится запись — еще лучше.
Fatrace не умеет показывать количество записанных данных вследствие использования довольно простого отслеживания факта обращения к файлам через inotify.
Из вывода видно, как хабр сохраняет мою статью в local storage браузера, пока я её пишу, а также расширение Group Speed Dial, которое, как удалось обнаружить именно с помощью fatrace, читает свои данные каждые 30 секунд. Именно читает, а не записывает: CW перед файлом говорит о том, что файл открывается на чтение и запись, с одновременным созданием файла, если он отсутствует (вызывается openat с флагом O_RDWR|O_CREAT), но не говорит, что в файл действительно писалась какая-либо информация.
На всякий случай, чтобы удостовериться в этом, воспользуемся strace, с фильтром на файловые системные вызовы:
Определение накладных расходов файловой системы
Большая разница в показаниях iotop и btrace натолкнула на мысль протестировать файловую систему путем ручной записи данных в файл и отслеживания показаний btrace.
Если полностью исключить запись на диск, загрузившись в emergency-режим systemd, и записать вручную пару байт данных в существующий файл, btrace на SSD с btrfs сообщает о записи 3 мегабайт реальных данных. Свежесозданная файловая система флешке размером в 8 ГБ записывает минимум 264 КиБ при записи одного байта.
Для сравнения, запись пары байт в файл на ext4 оканчивается записью 24 килобайтов данных на диск.
В 2017 году Jayashree Mohan, Rohan Kadekodi и Vijay Chidambaram провели исследование усиления записи разных файловых систем, их результаты для btrfs и ext4 при записи 4 КБ соотносятся с моими.