LINUX.ORG.RU

Человеко-понятный вывод использования CPU

 


0

1

Приветствую.

Подскажите, ни кто ли не сталкивался с нормальной (т.е. виндовой) реализацией просчета использования процессорного времени в Linux?

Под «нормальной» реализацией я подразумеваю просчет, где используемые каким-то процессом 100% ставят раком систему, а выше 100% априори не бывает.

Как работает юниксовая реализация - знаю, умею, могу, пользуюсь. Интересует более логичная метрика.

Нужно для «инфы» о процессе: https://www.youtube.com/watch?v=0ks2Z0vJiis (для демонстрации график строится рандомом) - для просчета утилизации разгребаю /proc/pid/stat.

Если не существует или я дурак - ничего страшного, и так работает.

Благодарю!

★★★★★

Последнее исправление: windows10 (всего исправлений: 1)
Ответ на: комментарий от next_time

Это не ко мне, а к автору.

Сам пользуюсь htop и по процессам конкретный % загрузки меня обычно мало интересует.

Вообще в какой-то момент времени пришёл к выводу, что смотреть нужно не на загрузки проца, а на loadavg, но это уже совсем другая история…

u5er ★★
()
Ответ на: комментарий от next_time

btop показывает сразу и общую нагрузку CPU от 0 до 100% и нагрузку по каждому ядру в отдельности, ничего считать не надо

А он учитывает текущую частоту каждого ядра? Подозреваю что нет.

Плюс минимальная частота на разных камнях сильно разной может быть (у меня в данный момент есть процессоры и с минималкой в 800MHz, и в 1600MHz). Плюс максимальная частота тоже может быть разогнана включением TurboBoost, или как его нынче.

mord0d ★★★★★
()
Ответ на: комментарий от next_time

btop показывает сразу и общую нагрузку CPU от 0 до 100% и нагрузку по каждому ядру в отдельности, ничего считать не надо

Прикольная штука, но мне нужно немного другое.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от CrX

Но как я понял, ТСу программно надо в скрипте использовать

В общем-то ТСу нужно для процесса

btop я проверил - показывает в общем, даже если одно ядро лежит и ГУЙ заикается - 25% процессора используется. Эх.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

Цитирую: «Подскажите, ни кто ли не сталкивался с нормальной (т.е. виндовой) реализацией просчета использования процессорного времени в Linux?»

Так это и есть виндовая реализация, там ровно также, как в btop сделано. Если у меня процесс на линуксе жрёт 100% одного ядра, то системе пофиг, она продолжает плавно работать, т.е. то, что вы хотите - не проблема системного монитора как такового, а проблема какого-то конкретного процесса, он мог поставить систему раком по несвязанным с нагрузкой на ЦПУ причинам.

next_time ★★★★★
()
Ответ на: комментарий от buddhist

Не знаю, с чего ты решил, что в винде 100% загрузки CPU означают, что система стоит раком

Вчера вот только Artmoney юзал. Где-то 80%-90% было показано при отсеивании данных в 4гб массиве. И таки система тупила безбожно, вплоть до подергивания курсора.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Тебе уже писали, что общая загрузка это тупость. Если хотя бы одно ядро загружено около ста, значит процессор уже является бутылочным горлышком. Общая нагрузка будет нарисована околонулевпя при этом.

Пришло в голову, что можно было бы считать загрузку только по нагруженным больше какого-то порога ядрам. И добавлять процент задействованных ядер. Типа 50/50%, половина ядер загружена на половину(в среднем конечно). Тогда 1 на 100%, будет что-то вроде 100(5)%. Типа 100% от 5%. Такой себе интегральный показатель получится, и вашим и нашим.

Loki13 ★★★★★
()
Ответ на: комментарий от anonymous

в свап полезло, или свой кривой драйвер использует

И что?)

Важно то что отображаемая загрузка CPU прямо сказывается на производительности остальных приложений.

windows10 ★★★★★
() автор топика