В настоящее время я использую команду TOP для извлечения CPU и памяти процесса. Мой запрос здесь о понимании значения, которое он отображает.

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                           
 6742 aaaa      20   0 843596   1.0g  238841 S   4.0  1.7   0:49.66 java                                                                                                                              
14355 aaaa      20   0 658704 749560  234112 S   3.3  1.2  15:45.75 java                                                                                                                              
 2779 aaaa      20   0 688868 846620  160844 S   3.0  1.4  54:30.61 java                                                                                                                              
 2337 aaaa      20   0 701200   1.0g  231923 S   2.3  1.7  13:18.34 java 

Допустим, я слежу за процессором с идентификатором процесса 6742, иногда он показывает 4%, иногда 8%, 6%, а иногда снимает до 200% и возвращается. Когда я проверяю количество ядер в системе, оно говорит 8.

nproc -> 8

Просьба уточнить мои запросы (все они относятся к конкретному идентификатору процесса)-

  1. Должен ли я взять процессор, который выдается из команды TOP? ИЛИ ЖЕ
  2. Должен ли я рассчитывать его на основе количества ядер, например, поскольку оно имеет 8 ядер, то есть из 800% ЦП составляет 200% для этого идентификатора процесса?
  3. Что это означает, когда процессор показывает 150% или 200% в определенных выборках?
  4. Что это значит - если я взял несколько выборок во время моего наблюдения для этого идентификатора процесса (3%, 60%, 9%, 22%) и даже если число ядер равно 8, я все равно могу дать их в качестве значений моего процессора для этого PID в течение этой продолжительности и сказать, что средняя загрузка процессора составляет 23,5%?

0