Производительность виндоуз®
Mar. 18th, 2015 02:58 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Столкнулся с проблемой: периодически комп наглухо подвисал на несколько минут, не реагируя ни на какие раздражители. Потом все рассасывалось и можно было работать до следующего затыка. По ощущением подвисание происходило в момент обращения к диску. Со временем проблема усугублялась: задержки выросли до 5 минут, а частота появления — до нескольких раз в час.
Ок, оптимизация производительности — штука универсальная. Надо составить профиль использования ресурсов, выявить слабое звено и придумать ему лекарство. Но, скажем, в Оракле для этого есть понятные инструменты (трассировки и динамические статистики), а вот как быть с виндоузом?
Правильный вопрос — уже половина ответа. Немного покопавшись, выяснилось следующее.
Старый добрый Task Manager. Вкладка Performance была единственным известным мне местом, где можно что-то посмотреть про производительность. Но если в XP это довольно бесполезная игрушка, которая рисует картинки и самые общие цифры, то в семерке там появилась кнопка, запускающая Resource Monitor, который в онлайне показывает весьма подробную информацию про процессоры, память, диски и сеть. Даже картинки там более интересные, например, видна длина очереди к диску.
Но что толку от онлайна, когда машина глухо виснет? Хочется посмотреть лог. Оказывается, теперь есть и такое счастье. Оно называется Performance Monitor, а добраться до него можно разными путями, например, правый клик на «моем компьютере» – Manage – System Tools – Performance. Как и в Оракле, в его распоряжении трассировка событий и счетчики (кто бы мог подумать). Порядок работы такой. Сначала настраиваем Data Collector Set, где определяем, какие трассы и счетчики нам нужны. Я не мудрил и воспользовался готовым набором, только увеличил время с одной до пятнадцати минут. Затем запускаем сбор данных и нагружаем систему. После этого смотрим сформированный отчет и делаем выводы.
Увиденное соответствовало субъективным ощущениям. С памятью и процессором все было неплохо, а вот диск «порадовал»:
- Avg. Disk Queue Length: mean = 11
- Disk Bytes/sec: max = 45 811 759
- Avg. Disk sec/Read: mean = 0.055
- Avg. Disk sec/Transfer: mean = 0.072
- Avg. Disk sec/Write: mean = 0.242
- Physical Disk Percent Idle Time: 0.682
По-русски, запросы к диску выстраиваются в длинные очереди (средней длины 11), диск молотит без передыху (меньше 1 % незанятого времени), время доступа велико, а диск справляется с 45 MB в секунду.
Итак, слабое звено понятно. В свое время купил Western Diginal Caviar Green (5400 rpm) — и прогадал.
Как лечить? Ну, во-первых, можно попробовать сократить нагрузку. На свежепереустановленной системе все работает прилично, проверял. Но со временем процессов становится все больше и диск начинает захлебываться, а заниматься периодической прополкой установленных программ и мониторингом процессов я как-то не готов.
Во-вторых, можно построить RAID 0, благо дисков две штуки одинаковых. Но ну его нафиг возиться.
В-третьих, можно купить более производительный винт, что и было в итоге проделано. Вот что показывает отчет для нового двухтерабайтного Seagate Desktop на похожей нагрузке:
- Avg. Disk Queue Length: mean = 1
- Disk Bytes/sec: max = 83 032 295
- Avg. Disk sec/Read: mean = 0.003
- Avg. Disk sec/Transfer: mean = 0.003
- Avg. Disk sec/Write: mean = 0.011
- Physical Disk Percent Idle Time: 59
Эти цифры нравятся мне гораздо больше.
* * *
Открыл для себя Speedfan и отказался от штатной асусовской EPU4 Engine в его пользу. Утилитка умеет показывать температуру чипов и дисков, читать параметры S.M.A.R.T. и управлять частотой вращения кулера. Правда, к ней надо приноровиться: заточить конфигурацию под свою маму (можно получить с сайта автора) и суметь зарядить в автозапуск (получилось только с помощью scheduler-а). Зато потом можно забыть.
* * *
Ну и заодно добавил оперативной памяти до 6 GB, чтобы спокойно держать открытыми виртуалку с макосью, фотошоп, пикасу, браузер, и что там еще взбредет в дурную голову. Теперь у меня две ненужные планки DDR2 по гигабайту, пристроить бы куда.
* * *
Видимо, это последний апгрейд, потому что DDR2 уже уступил место DDR3. Ну хоть SATA 3 совместим с SATA 2, и на том спасибо. Дальше придется менять маму, а с ней наверняка и все остальное.
no subject
Date: 2015-03-18 11:26 am (UTC)Во-вторых, мне тут по работе приходится много работать с линуксовыми машинками, и я всё больше проникаюсь всякими фишечками. Windows System Monitor против кондового sar'а - это как плотник супротив столяра.
В-третьих, RAID0 строится очень просто (во всяком случае, в линуксе) и работает очень шустро, но надёжность такого решения - ниже плинтуса, поэтому на домашнем компе категорически не рекомендуется. Уж лучше SSD.
А в четвёртых, зачем благородному дону виртуалка с макосЪю?
no subject
Date: 2015-03-18 04:25 pm (UTC)2. Дык, в юниксе-то понятно все есть. Меня удивило, что и винда подтягивается. Я раньше к ней относился совсем как к игрушечной.
3. Ну и надёжность тоже остановила, да.
4. А Макось мне нужна для проявки фоток, под ней RPP работает.
no subject
Date: 2015-03-18 05:03 pm (UTC)2) Microsoft вообще вызывает огромное уважение. Но вот висящее над ним Проклятье Маздая®...
no subject
Date: 2015-03-18 05:48 pm (UTC)Кстати, под линукс есть atop прикольный. Использовали его однажды, чтобы понаблюдать за поведением процесса.