Як сказати, який процес піднімає мій процесор, коли вони не складають до 100%?


9

Аплет Ubuntu System Monitor показує 100% використання процесора постійно. Якщо я натискаю на нього, вкладка "Ресурси" також відображає його на 100% безперервно. Однак, якщо я переходжу до процесів, щоб дізнатися, який саме процес є винуватцем, нічого більше 10%. Якщо я забігаю на вершину, нічого вище 10%. Окремі процеси не складають до 100%. Я намагаюся вбити багато процесів, але загальне використання продовжує залишатися 100%. Як я можу дізнатись, що таке завивання процесора?

alt текст

Це незвичайна ситуація на комп’ютері, яким я користуюся щодня, який ніде не знаходиться близько 100% процесора, якщо я не виконую щось, що вимагає цього (наприклад, завантажую 32 вкладки Firefox), після чого він повертається до нормального простою. Це не нова установка чи щось інше. Немає причини, щоб процесор максувався. Я не впевнений, коли це почалося чи я змінив щось, що спричинило це.

Зазвичай я б використовував top або System Monitor і знаходив процес, який вийшов з-під контролю, але цього разу я нічого не можу знайти з цими інструментами. Він зберігається після перезавантаження і все.

І процесор, очевидно, гарячий, тому це не помилкове читання.

Оновлення: Я намагався вбити кожен процес, по одному, поки проблема не пішла, і вбивство vino-сервера остаточно виправило її, хоча цей процес ніколи не перевищував 5%. Я включив віддалений робочий стіл кілька днів тому (і я, очевидно, зараз його відключив).

Але питання залишається: як одному процесу вдалося використовувати 100% процесора, тоді як топ лише показав цей процес на 5%? Як визначити таких винуватців у майбутньому?

Схоже, я не єдиний, хто мав цю проблему:

Все ще проблема як в жалюзі, так і в кармічному. Цікаво, що обидва System Monitor та htop не показують суму окремих процесів, де знаходиться близько 100% процесора.


2
Ваша система також повільна? Це може бути помилковим читанням.
Боббі

Відповіді:


9

Коли ви говорите "нічого вище 10%", ви маєте на увазі "ні одна річ вище 10%"? Потрібно лише 11 речей на ~ 9%, щоб загалом досягти 100%.

Також частина вимірюваного використовуваного часу процесора може бути часом очікування вводу / виводу - час, коли процес може щось робити, але це не тому, що він чекає відповіді пристрою вводу / виводу (тобто він зробив запит на диск і диск ще не знайшов потрібний біт даних і повернув їх). Зверху це можна побачити на рядках (-ых) процесора як показник% wa. Стан очікування вводу / виводу трохи дивний - процесор насправді не зайнятий чим-небудь (тому, якщо інший процес хотів би зробити якийсь обчислення, він міг би це зробити), але він зараховує до даних про завантаження системи як репресенети завантаження системи більше ніж просто активність процесора.

Було б корисно додати висновок top -n 1до свого питання.

Крім того, якщо ваше ядро ​​достатньо недавно, щоб мати функцію обліку IO (якщо ви використовуєте недавній випуск Ubuntu, це повинно бути), і він увімкнено, ви можете побачити, які процеси активно виконують операції вводу / виводу шляхом запуску iotop -n 1 -ob(iotop може не встановитись за замовчуванням, якщо у вас його немає, спробуйте встановити з apt-get install iotopабо знайдіть його в диспетчері пакунків GUI.


1
+1 для прохання додати top -n 1питання
Tarnay Kálmán

2

У мене була схожа проблема. Процесор замикався повністю, і жоден з процесів у System Monitor нічого не показав. Я знайшов одну відповідь, використовуючи команду "верх" у вікні терміналу. Це показало, що підхопила мене без уважної причини. То чому ж системний менеджер цього не показав? Виявляється, є опція в розділі Переглянути для всіх процесів; мою перевіряли як "Мої процеси", тому я ніколи не бачив винуватця. Сподіваюсь, це допомагає.


0

У мене така ж проблема, але я дізнався, що Xorg використовував 50% процесора, в той час як це показало, що його [цю помилку] можна було виправити за допомогою команди sudo rmmod ums_realtek. Цього разу Xorg використовував лише 5-10% процесора на системному моніторі, але на вкладці ресурсів він все ще показував 100%.

Під час моніторингу системного монітора я побачив миготіння кореневих просів за допомогою 100% ЦП! Я не встиг побачити, що це, але я впевнений, що це має щось спільне з цим.


-1

Перше питання - чи здається, що ваша система повільна чи невідповідна. Зрештою, це ваш CPU, ви заплатили за це, і ви маєте право запустити його у повному обсязі для своїх цілей. Друге питання - чи просто ви намагаєтеся зробити занадто багато з вашою системою, і чи варто розглянути можливість оновлення, якщо це можливо. У моєму першому вікні Linux було 486 повільних, і це було дуже просто. Наприклад, якщо ви працюєте на OLPC XO, ваші ресурси реально обмежені.

Серйозно, ви навряд чи одночасно будете виконувати численні надмірні вивіски. Якщо жоден процес не забирає більше 10%, то ваша система качками забиває смерть, і ви не зможете зменшити навантаження, не зменшуючи те, що ви робите.

Зважаючи на це, перевірте свої системні служби та вимкніть будь-який із них, які вам не потрібні. Подумайте про видалення тих, яких ви справді впевнені, що не хочете ( sudo apt-get remove foo). Особливо, якщо ви перевантажуєте систему, будь-яке зменшення навантаження може лише допомогти. Спробуйте вийти з програм, якими ви не користуєтесь.

Якщо є один процес, який використовує всі доступні процесори, спробуйте знайти його, запустивши верх і зазначивши, який відсоток ресурсів використовують основні процеси. Коли ви вбиваєте кількох, подивіться, чи один піднімається швидше, ніж інші. Звичайно, вбивство такого процесу не дозволить вам придбати все так багато, оскільки це не більше 10% навантаження.


Якби я використовував процесор, я б це знав. Він не працює на 100% постійно під час звичайної роботи, і, звичайно, не повинен, коли я закрив все, що я думаю, що це може використовувати.
ендоліт

-1
  1. apt-get install cpufrequtils
  2. відчинено /etc/rc.conf
  3. додайте до МОДУЛІ наступне: MODULES=(# your-module-donit #acpi-cpufreq cpufreq_ondemand cpufreq_performance)
  4. Перезавантажте

Після перезавантаження слід запустити, cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governorsщоб побачити, які модулі завантажуються.

Під час роботи ви можете змінити губернаторів на те, що відповідає вашим потребам. Наприклад:

  • cpufreq-set -r -g ondemand

Ви можете скористатися одним із таких регуляторів:

  • продуктивність : він працює процесор на максимальній частоті (модуль: cpufreq_performance)
  • OnDemand : динамічно переключається між CPU (ами) , доступних тактових частот на основі SYS навантаження (модуль: cpufreq_ondemand)
  • консервативний : Аналогічно ondemand, але процесор (и) з тактовою частотою переходить поступово через всі доступні частоти ( на основі SYS навантаження) (модуль: cpufreq_conservative)
  • PowerSave : CPU (s) працює на мінімальній швидкості (модуль: cpufreq_powersave)
  • область користувача : дозволяє користувачеві вручну встановлювати тактову частоту процесора. (Модуль: cpufreq_userspace)

Якщо ви використовуєте GNOME2, є аплет, який дивовижно.

  1. Клацніть правою кнопкою миші на панелі
  2. Додати аплет
  3. почніть вводити:, CPUви повинні мати можливість бачити це :)
  4. Клацніть Add

Використовуючи цей аплет, ви можете перемикатися між наявними регуляторами (ви додавали їх до /etc/rc.confраніше).

Наприклад, я ondemandвесь час використовую, тому що мені не потрібна повна продуктивність для запуску затемнення та емулятора Android на моєму ArchLinux: P

Summa Summarum - google для cpufrequtils та навчитися ним користуватися :) Цей pckg заощадив мій час та гроші; D

Ура!

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