Що викликає всю активність диска в OS X?


59

Інколи мій Macbook Pro сповільнюватиметься, коли жорсткий диск нескінченно клацатиме. Навантаження процесора невелика, але програми та менювідтворюються повільно. Чи є утиліта, яка може допомогти мені визначити, що відбувається, наприклад, кількість байтів, прочитаних / записаних або відкритих / закритих файлів за один процес?


1
Тут спекулюють, але це може бути щось просте, як mdsоновлення індексу Spotlight.

4
Проблема - 9 разів з 10 прожекторів. Одне, що я помітив, це те, що якщо у вас є розділ завантажувального камери, обов'язково включіть його до чорного списку прожекторів, або MDS, здається, завжди його жує.
Брайан Шуц

5
Дякуємо за пропозицію щодо Spotlight. Я щойно відчував дуже високі показники читання диска, перекинув свій розділ Boot Camp на вкладку Конфіденційність у префіксах Spotlight, і одразу диск зчитується рівномірно! Місяці мене возили.
Тім Кітінг

Відповіді:


61

Від man iotop:

iotop відслідковує введення / виведення диска процесом і друкує зведений звіт, який оновлюється кожен інтервал.

Це вимірювання подій на диску, які зробили його минулими кешами системи.

Оскільки для цього використовується DTrace, лише команда root або користувачі з привілеєм dtrace_kernel можуть виконувати цю команду.

Це може бути не саме те, що ви хочете - але це ksh-скрипт, який обертається навколо dtrace, тож ви повинні мати можливість зрозуміти, як змусити dtrace робити те, що вам потрібно, якщо iotop не буде обробляти його за замовчуванням.

Однак щось подібне iotop -C 5 12повинно дати вам щось із початку: воно виведе 12 зразків, кожні 5 секунд.


2
Досить добре. iotop -C 5 12це хороший спосіб отримати підсумок того, що відбувається.
платний ботанік

51

Ви також fs_usageможете отримати чіткий рахунок того, які програми потрапляють на диск.


1
Ооо, це спекотно. fs_usageтакож дозволяє фільтрувати мережеву та файлову систему.
платний ботанік

2

Я завжди помічав це вранці в суботу, і виявилося locate, що оновляє свою базу даних о 3:15 у п’ятницю вночі.

Я спробував відключити його launchdконфігурацію (in /System/Library/LaunchDaemons/com.apple.locate.plist), але вона все одно працювала, тому я просто перейшов /usr/libexec/locate.updatedbз шляху. Проблема… пом'якшена.


1

Це може бути підказка ОС у віртуальну пам'ять замість чогось конкретного додатка. Ви можете спробувати вийти з менш часто використовуваних програм або принаймні перезапустити деякі програми, які хочуть створювати кеші в пам'яті з часом (наприклад, Safari). Перегляньте різні статистичні дані щодо пам’яті за кожний процес за допомогою Monitor Monitor, щоб знайти вірогідних винуватців. Якщо закриття деяких додатків, що займають пам'ять, здається, тимчасово полегшує проблему, ви можете спробувати додати оперативну пам’ять.

Якщо активність диска не пов'язана з підключенням до виклику, ви можете використовувати його fs_usageдля відстеження його до одного або декількох конкретних процесів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.