обнаружьте пищевой CPU процесса без: вершина, htop, PS?

В KDE 4.10.5, можно отключить все системные звуки, не отключая звук всех носителей.

System Settings > Common Appearance and Behaviour > Application and System Notifications > Manage Notifications > Player Settings > No audio output.

Кроме того, можно отключить Звуки События: щелкните левой кнопкой по звуковому значку панели задач и скатитесь с ползунка Звуков События или абсолютно бесшумный он.

enter image description here


В KDE Plasma 5 можно щелкнуть левой кнопкой по kmix (объем) плазмоид и выключить "Звуки События", так же к снимку экрана выше.

Если это не работает, можно выключить звуки для каждого класса уведомления индивидуально, в System Settings > Notifications. Цикл через Event source, поиск записей с Play a sound значок, связанный с записью, затем выключите Play a sound.

3
13.04.2017, 15:36
3 ответа

Код, выполняемый на unix-системе, классифицируется как код ядра или пользовательский земельный код. Земельный код пользователя всегда привязан к процессу, поэтому если процессор занят выполнением земельного кода пользователя, то он отображается на какой-то строке сверху . Обычно к процессу прикрепляется код ядра: если ядро выполняет системный вызов, то обработка в ядре учитывается как принадлежащая этому процессу. Системное время - это "системное время", сообщаемое утилитой time.

Некоторые вещи, которые делает ядро, не могут быть напрямую учтены в одном процессе. В частности, аппаратные прерывания по своей природе не принадлежат конкретному процессу. Например, предположим, что прерывание вызвано сетевой картой. Ядро выполняет код для чтения и разбора сетевого пакета; до сих пор ни один процесс не задействован. Пакет может быть отклонен с помощью правила брандмауэра, в этом случае ни один процесс не может претендовать на это время обработки. Если процесс получит этот пакет, часть времени приема будет выставлена на вкладку этого процесса, но не на ранние стадии.

Значит, можно иметь процессорное время, не принадлежащее какому-либо процессу. Однако иногда это процессное время опосредованно связано с каким-либо процессом. Например, если есть процесс, который отправляет пакеты на другую машину и заставляет эту другую машину отвечать, но брандмауэр блокирует ответные пакеты, то время, потраченное на обработку и отбрасывание ответных пакетов, не будет отслеживаться до этого процесса отправки; но если процесс отправки останавливается, что заставляет удаленную машину перестать отвечать, то ядро больше не будет тратить время на отбрасывание пакетов. Конечно, сеть - это всего лишь один пример, существует множество других способов, которыми ядро может делать вещи, которые не могут быть отслежены непосредственно до одного процесса.

Вы не дали достаточно информации, чтобы быть уверенным в том, что это то, что происходит (и это может быть трудно выяснить без отладчика ядра), но это правдоподобное объяснение.

.
3
27.01.2020, 21:10

Если вы не хотите использовать htop,ps,top, вы можете использовать systemtap, для более низкого уровня детализации

.
2
27.01.2020, 21:10

Я не достаточно знаком с деталями, чтобы дать точные подсказки, но думаю, что есть два источника различий между реально вызванной нагрузкой и показанным использованием процессора:

  1. Процесс может состоять из нескольких потоков и top может их не суммировать. Количество потоков можно увидеть следующим образом:

    ps -eo pid,nlwp,%cpu,user,args
    

    В сверху можно переключать обработку резьбы с помощью H . Использование процессора в каждом потоке, как правило, достаточно низкое.

  2. Этот процесс может привести к большому количеству входов/выходов. Время ожидания ввода/вывода является частью общей загрузки процессора, но может и не являться частью значения использования процессора процессом. Поэтому проверьте значение wait в top. Это не говорит о том, какие процессы его вызывают, но если значение низкое, то это не может объяснить эффект.

5
27.01.2020, 21:10

Теги

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