Сценарий: Внезапно мой компьютер чувствует себя вялым. Мышь движется, но окна открываются uptime
очень долго, и т.д. говорит, что нагрузка составляет 7,69 и поднимается.
Какой самый быстрый способ выяснить, какие процессы являются причиной нагрузки?
Теперь «верхние» и подобные инструменты не являются ответом, потому что они либо показывают использование процессора или памяти, но не оба одновременно. Что мне нужно, так это единственная команда, которую я могу набрать, когда она произойдет - что-то, что выяснит любую из
Система пытается заменить 8 ГБ ОЗУ на диск, потому что процесс X ...
или
процесс X ищет по всему диску
или
процесс X использует 400% CPU "
Итак, что я ищу, так это iostat, htop / atop и похожие инструменты, работающие в одном, с таким выводом:
1235 cp - Disk trashing
87 chrome - Uses 2 GB of RAM
137 nfs_bench - Uses 95% of the network bandwidth
Мне не нужен инструмент, который дает мне некоторые цифры, которые я могу анализировать, но инструмент, который точно сообщает мне, какой процесс вызывает текущую нагрузку. Предположим, что пользователь перед клавиатурой едва знает, как написать «процесс», но пользователь быстро поражается, когда речь заходит о «резидентном размере», «виртуальной памяти» или «жизненном цикле процесса».
Мой аргумент звучит так: пользователь замечает проблему. Причин может быть тысячи ... ну, почти :-) Пользователь хочет знать источник проблемы.
Текущие решения дают мне много цифр, и мне нужно знать, что означают эти цифры. Я ищу мета-инструмент. 99% данных не имеют отношения к проблеме. Поэтому инструмент должен искать процессы, которые потребляют некоторый ресурс, и перечислять только те, которые указаны «наряду с тем, что« этот процесс требует много ресурсов ЦП, при этом создается много IRQ, этот процесс выделяет много ОЗУ (и он продолжает расти) ».
Это будет относительно короткий список. Для новичка будет намного проще найти виновника из этого списка, чем, скажем, из вывода, скажем, htop
который дает мне около 5000 чисел, но требует от меня сложения многопоточных процессов самостоятельно (у меня есть 50 строк, которые говорят, VIRT 2750M
но только 16 ГБ ОЗУ - машина должна сама себя поменять, но, конечно, это неверная интерпретация данных, которая может произойти быстро).
top
значит выход )