Замедление Windows XP, что виновато?

Я выполняю Windows XP, и через некоторое время это, кажется, возвращается к реальности вялое. Я подозреваю, что это - тяжелое потребление памяти Firefox, но заметило, что несколько других программ являются 'медленными' для выхода, когда я перезагружаю.

Существует ли способ измерять все потребление памяти процесса со временем? Проводник процесса - то, что я хочу, но для каждого процесса, не только того я открываю свойства для.

На земле Unix я работал ps снимки неоднократно и взгляд на RSS (и очевидно игнорирующий страницы общей памяти) вычисляют что

  • свинья прямо сейчас
  • вырастил большинство (в то время как я не смотрел).

Мне требуются приблизительно 8-24 часа истории для каждого процесса, не, что может соответствовать на экране.

Какие-либо идеи?

1
задан 16.03.2011, 21:52

6 ответов

Некоторое время назад я записал Windows Perfmon: Лучшие Десять Счетчиков в моем старом блоге. Статья является кратким введением в использование Perfmon для определения, где аппаратные узкие места: процессор, память, диск, или сеть (и во вторую очередь, для определения текущих рабочих нагрузок на этих ресурсах). Я не могу подчеркнуть этот шаг достаточно: сначала удостоверьтесь, что Вы знаете, какой аппаратный ресурс злоупотребляется. Затем отправьтесь на охоту пожиратель ресурсов.

После того как Вы определили, какой ресурс злоупотребляется, у Вас есть два варианта: добавьте больше того ресурса (получите более быстрый ЦП, дополнительную память, получите более быстрый диск или NIC)..., или разыщите главных пользователей того ресурса, и или уничтожьте их или предпримите шаги для создания их менее свинскими.

Самый легкий способ разыскать главных пожирателей ресурсов с Проводником Процесса. Обязательно выполните его из учетной записи с Администратором privs. Вот быстрый-и-грязный список вещей искать:

  • Для узких мест памяти (наиболее распространенное узкое место), используйте Рабочий набор, Виртуальный Размер и столбцы Private Bytes History от вкладки Process Memory. Отсортируйте столбцы один за другим, убывая (самые большие значения наверху столбца). Из них Рабочий набор является обычно самым ценным.
  • Для узких мест ЦП очевидно, Вы хотите столбец CPU Usage. История ЦП также удобна. Они находятся на вкладке Process Performance. Снова убывание вида. Это значение имеет тенденцию переходить вокруг намного больше, чем значения использования памяти, не делайте поспешные суждения. Наблюдайте его некоторое время, чтобы видеть, остается ли Ваш главный подозреваемый наверху в течение больше, чем нескольких секунд.
  • Для дисковых узких мест (которые являются часто на самом деле узкими местами памяти как, системой вынуждена разбивать на страницы материал от диска слишком часто) у Вас действительно нет большого выбора, потому что Windows не имеет диска для каждого процесса вводом-выводом perfmon счетчики. Однако можно посмотреть на общий ввод-вывод для каждого процесса (который включает диск, сеть и устройство ввод-вывод), можно использовать Байты Чтения ввода-вывода и счетчики Байтов Записи ввода-вывода как грубая оценка. Они находятся на вкладке Process Performance.
  • Сетевые узкие места вряд ли будут Вашей проблемой, но так как сетевые счетчики для каждого процесса смешаны во ввод-вывод, можно получить общее представление таким же образом, я описал выше для дисковых узких мест. Вам решать, чтобы определить, видите ли I/Os Вы в этих столбцах, более вероятно, будет диск или сеть I/Os. Если бы Вы были на Vista/2008/7, то Вы получили бы немного справки здесь из Windows Performance Tools, который я обсуждаю на своем более новом блоге.

Удачи!

5
ответ дан 12.12.2019, 07:43

Существует perfmon.msc и там Монитор Процесса sysInternal, который регистрируется.

3
ответ дан 12.12.2019, 07:43

Можно хотеть запуститься при помощи Диспетчера задач, который даст Вам маленькую информацию.

1
ответ дан 12.12.2019, 07:43

Устойчивая альтернатива встроенному Диспетчеру задач (taskmgr.exe) Проводник Процесса (procexp.exe). Проводник процесса был создан SysInternals и теперь принадлежит и распределяется Microsoft.

Что касается взятия образцов Вашей обычно здоровой системы равномерно для установления базовых чисел Вы могли создать запланированную задачу, которая использует PowerShell Cmdlet Get-Process, или пакетный файл, который использовал бы простой DOS tasklist.exe.

1
ответ дан 12.12.2019, 07:43

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

Этот код должен действительно быть на stackoverflow, и повелители могут сказать, почти дает Вам общее представление о том, насколько легкий эта задача может быть:

public static string ListAllApplications()
{
    StringBuilder sb = new StringBuilder();

    foreach (Process p in Process.GetProcesses("."))
    {
        try
        {
            if (p.MainWindowTitle.Length > 0)
            {
                sb.Append("Window Title:\t" +
                    p.MainWindowTitle.ToString()
                    + Environment.NewLine);

                sb.Append("Process Name:\t" +
                    p.ProcessName.ToString()
                    + Environment.NewLine);

                sb.Append("Window Handle:\t" +
                    p.MainWindowHandle.ToString()
                    + Environment.NewLine);

                sb.Append("Memory Allocation:\t" +
                    p.PrivateMemorySize64.ToString()
                    + Environment.NewLine);

                sb.Append(Environment.NewLine);
            }
        }
        catch { }
    }

    return sb.ToString();
}
1
ответ дан 12.12.2019, 07:43

У меня есть эта проблема все время. Firefox обычно является моим основным преступником, но иногда я выполняю что-то с утечкой памяти.

Я знаю, что это было сказано прежде, но я повторю его... Проводник процесса на самом деле имеет очень удобную функцию, где можно настроить его для обеспечения нескольких дополнительных столбцов информации. Конкретно дополнительными столбцами, которыми Вы интересуетесь, является "История ЦП" и "Частная История Байтов", я думаю, что это - информация, которую Вы пытаетесь подобрать из системы. Это показывает график прокрутки для каждого процесса.

alt text

0
ответ дан 12.12.2019, 07:43

Теги

Похожие вопросы