На странице Википедии время процессора , это говорит
Время процессора измеряется в тактах или секундах. Часто полезно измерять время ЦП в процентах от емкости ЦП, которая называется использованием ЦП.
Я не понимаю, как продолжительность может быть заменена на процент. Когда я смотрю top
, не %CPU
говорит ли мне, что MATLAB
использует 2,17 моих ядер?
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18118 jasl 20 0 9248400 261528 78676 S 217.2 0.1 8:14.75 MATLAB
Вопрос
Чтобы лучше понять, какова загрузка ЦП, как рассчитать использование ЦП самостоятельно?
linux
performance
central-processing-unit
cpu-usage
Жасмин Логн
источник
источник
1
).Ответы:
Время процессора распределяется в дискретных временных срезах (тиках). В течение определенного количества временных интервалов процессор занят, в других случаях это не так (что представлено процессом в режиме ожидания). На рисунке ниже процессор занят для 6 из 10 срезов процессора. 6/10 = .60 = 60% занятого времени (и поэтому было бы 40% простоя).
Процент определяется как «число или скорости , что выражается в виде некоторого числа частей , разделенных на что - то 100 частей». Таким образом, в этом случае эти части представляют собой дискретные интервалы времени, а временные интервалы заняты по сравнению с интервалами простоя - частота занятых до простоя интервалов.
Так как процессоры работают в ГГц (миллиарды циклов в секунду). Операционная система разрезает это время на более мелкие единицы, называемые тиками. Они на самом деле не 1/10 секунды. Частота тиков в окнах составляет 10 миллионов тиков в секунду, а в Linux -
sysconf(_SC_CLK_TCK)
(обычно 100 тиков в секунду).Что-то вроде
top
занятых циклов ЦП затем делится на проценты таких вещей, как пользовательское время и системное время. Вtop
Linux и perfmon в Windows вы часто получаете отображение, превышающее 100%, потому что общее количество составляет 100% * the_number_of_cpu_cores.В операционной системе задача планировщика состоит в том, чтобы распределить эти драгоценные фрагменты для процессов, поэтому именно планировщик сообщает об этом.
источник
Время ЦП - это время, в течение которого процесс использует ЦП. Преобразование его в процент выполняется путем деления на количество прошедшего реального времени.
Итак, если у меня есть процесс, который использует 1 секунду процессорного времени в течение 2 секунд, он использует 50% процессорного времени.
В случае вашего процесса MATLAB 217% указывает, что он использовал 2,17 секунды процессорного времени в секунду в течение последнего интервала выборки - эффективно, монополизируя 2 ядра ЦП и занимая часть третьего.
источник