Ctrl + Shift + P - Superscript
Ctrl + Shift + B - индекс
Вы можете выбрать другую статистику для журнала:
Частота процессора (частота в Mhz или Ghz). коэффициент нагрузки. Дальше эта статистика может быть сегментирована для каждого процессора, т. е. от # 1 до # 8 для четырехъядерного процессора с гиперпотоками.Для простоты я опишу этот ответ, используя средний коэффициент загрузки, аналогичный ответу: Как зарегистрировать загрузку процессора?
Вам понадобится сценарий bash для цикла 7 200 секунд (2 часа), который будет выглядеть следующим образом:
#!/bin/bash
for ((i=0; i<7200; i++))
do
uptime >> /home/user/cpuload.log
sleep 1
done
Чтобы посмотреть на ваш выход, используйте команду:
$ cat cpuload.log
20:04:06 up 2 days, 14 min, 1 user, load average: 1.39, 1.12, 0.95
Среднее значение нагрузки сообщает три переменные - последнюю минуту, последние пять минут и последние пятнадцать минут. Для простоты рассмотрим только среднее значение последней минуты, которое сообщается каждую секунду в нашем цикле.
Вы можете импортировать файл cpuload.log в электронную таблицу и графически отображать точки данных за два часа или просто прокручивать данные. Я использую Libre Office Calc, но все современные электронные таблицы могут импортировать файл.
В приведенном выше примере средняя средняя продолжительность загрузки равна 1.39. Это кажется опасно высоким, потому что что-либо более .70 заслуживает расследования, а 1.00 означает, что есть бутылочная горловина, и процессы не обслуживаются и им приходится ждать.
Однако в вашей таблице вы будете иметь для деления средней нагрузки на количество процессоров, которые у вас есть. Чтобы быстро найти это, используйте команду:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
2074968
2133093
2094750
1863843
1728562
1855875
1849125
1778156
Это показывает, что есть 8 процессоров (это четырехъядерный гиперпоточный процессор Intel i-7 3630QM, работающий от 1200 МГц до 3400 МГц). В этом снимке CPU # 1 (называемый CPU0 внутри) работает на 2,0749.68 Mhz, а CPU # 8 работает на 1,7781.56 Mhz. Но я отвлекаюсь, важно подсчитать, сколько у них процессоров составляет 8.
Итак, разделите среднее значение нагрузки 1.39 на 8, а среднее значение TRUE - 0.17, которое очень респектабельное. Еще раз любое значение над 0.70 заслуживает расследования, а когда оно попадает 1.00, ваша система задерживается. Вы можете прочитать далее Как зарегистрировать загрузку процессора?
Чтобы использовать команда top для просмотра 10 наиболее ресурсоемких процессов использует эту команду вместо команды uptime:
top -n 1 -b | head -n 17 | tail -n 10 >> /home/user/top10.log
Файл /home/user/top10.log будет выглядеть примерно так (повторяется каждую секунду для двух часы]:
$ top -n 1 -b | head -n 17 | tail -n 10
6170 rick 20 0 1437432 537000 126060 S 62.5 6.7 8:50.24 chrome
2466 rick 20 0 1210040 140568 61864 S 6.2 1.8 22:16.88 compiz
4111 rick 20 0 742396 248724 185820 S 6.2 3.1 36:26.68 chrome
6280 rick 20 0 41800 3668 3124 R 6.2 0.0 0:00.01 top
10096 root 20 0 0 0 0 S 6.2 0.0 0:00.47 kworker/0:2
1 root 20 0 120064 6244 4000 S 0.0 0.1 0:02.23 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.31 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:+
7 root 20 0 0 0 0 S 0.0 0.0 1:39.28 rcu_sched
ПРИМЕЧАНИЕ: замените user на свое фактическое имя пользователя.
Как и в первом разделе, создайте скрипт bash для цикла 7 200 секунд:
#!/bin/bash
# NAME: ~/bin/cpu-top-summary
# DATE: June 13, 2017
# DESC: Call `top` command every second to obtain CPU(s) stats for
# us, sy, ni, id, wa, hi, si, and st. Log to /tmp/top-cpu-summary.log
# with time stamp in hh:mm:ss 24 hour format.
# PARM: $1 number of seconds to run, ie 2 hours = 7200
now="$(date +'%d/%m/%Y')"
printf "top CPU(s) summary for %s\n" "$now" > /tmp/top-cpu-summary.log
for ((i=0; i<$1; i++))
do
TimeStamp=`date +"%H:%M:%S"`
printf "$TimeStamp - " >> /tmp/top-cpu-summary.log
top -n 1 -b | head -n 3 | tail -n 1 >> /tmp/top-cpu-summary.log
sleep 1
done
Когда вы вызываете скрипт bash с помощью top-cpu-summary 10, вы можете видеть выход в течение 10 секунд, используя:
$ cat /tmp/top*
top CPU(s) summary for 13/06/2017
19:17:34 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:35 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:36 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:37 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:38 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:39 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:41 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:42 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:43 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:44 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
Вы можете выбрать другую статистику для журнала:
Частота процессора (частота в Mhz или Ghz). коэффициент нагрузки. Дальше эта статистика может быть сегментирована для каждого процессора, т. е. от # 1 до # 8 для четырехъядерного процессора с гиперпотоками.Для простоты я опишу этот ответ, используя средний коэффициент загрузки, аналогичный ответу: Как зарегистрировать загрузку процессора?
Вам понадобится сценарий bash для цикла 7 200 секунд (2 часа), который будет выглядеть следующим образом:
#!/bin/bash
for ((i=0; i<7200; i++))
do
uptime >> /home/user/cpuload.log
sleep 1
done
Чтобы посмотреть на ваш выход, используйте команду:
$ cat cpuload.log
20:04:06 up 2 days, 14 min, 1 user, load average: 1.39, 1.12, 0.95
Среднее значение нагрузки сообщает три переменные - последнюю минуту, последние пять минут и последние пятнадцать минут. Для простоты рассмотрим только среднее значение последней минуты, которое сообщается каждую секунду в нашем цикле.
Вы можете импортировать файл cpuload.log в электронную таблицу и графически отображать точки данных за два часа или просто прокручивать данные. Я использую Libre Office Calc, но все современные электронные таблицы могут импортировать файл.
В приведенном выше примере средняя средняя продолжительность загрузки равна 1.39. Это кажется опасно высоким, потому что что-либо более .70 заслуживает расследования, а 1.00 означает, что есть бутылочная горловина, и процессы не обслуживаются и им приходится ждать.
Однако в вашей таблице вы будете иметь для деления средней нагрузки на количество процессоров, которые у вас есть. Чтобы быстро найти это, используйте команду:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
2074968
2133093
2094750
1863843
1728562
1855875
1849125
1778156
Это показывает, что есть 8 процессоров (это четырехъядерный гиперпоточный процессор Intel i-7 3630QM, работающий от 1200 МГц до 3400 МГц). В этом снимке CPU # 1 (называемый CPU0 внутри) работает на 2,0749.68 Mhz, а CPU # 8 работает на 1,7781.56 Mhz. Но я отвлекаюсь, важно подсчитать, сколько у них процессоров составляет 8.
Итак, разделите среднее значение нагрузки 1.39 на 8, а среднее значение TRUE - 0.17, которое очень респектабельное. Еще раз любое значение над 0.70 заслуживает расследования, а когда оно попадает 1.00, ваша система задерживается. Вы можете прочитать далее Как зарегистрировать загрузку процессора?
Чтобы использовать команда top для просмотра 10 наиболее ресурсоемких процессов использует эту команду вместо команды uptime:
top -n 1 -b | head -n 17 | tail -n 10 >> /home/user/top10.log
Файл /home/user/top10.log будет выглядеть примерно так (повторяется каждую секунду для двух часы]:
$ top -n 1 -b | head -n 17 | tail -n 10
6170 rick 20 0 1437432 537000 126060 S 62.5 6.7 8:50.24 chrome
2466 rick 20 0 1210040 140568 61864 S 6.2 1.8 22:16.88 compiz
4111 rick 20 0 742396 248724 185820 S 6.2 3.1 36:26.68 chrome
6280 rick 20 0 41800 3668 3124 R 6.2 0.0 0:00.01 top
10096 root 20 0 0 0 0 S 6.2 0.0 0:00.47 kworker/0:2
1 root 20 0 120064 6244 4000 S 0.0 0.1 0:02.23 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.31 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:+
7 root 20 0 0 0 0 S 0.0 0.0 1:39.28 rcu_sched
ПРИМЕЧАНИЕ: замените user на свое фактическое имя пользователя.
Как и в первом разделе, создайте скрипт bash для цикла 7 200 секунд:
#!/bin/bash
# NAME: ~/bin/cpu-top-summary
# DATE: June 13, 2017
# DESC: Call `top` command every second to obtain CPU(s) stats for
# us, sy, ni, id, wa, hi, si, and st. Log to /tmp/top-cpu-summary.log
# with time stamp in hh:mm:ss 24 hour format.
# PARM: $1 number of seconds to run, ie 2 hours = 7200
now="$(date +'%d/%m/%Y')"
printf "top CPU(s) summary for %s\n" "$now" > /tmp/top-cpu-summary.log
for ((i=0; i<$1; i++))
do
TimeStamp=`date +"%H:%M:%S"`
printf "$TimeStamp - " >> /tmp/top-cpu-summary.log
top -n 1 -b | head -n 3 | tail -n 1 >> /tmp/top-cpu-summary.log
sleep 1
done
Когда вы вызываете скрипт bash с помощью top-cpu-summary 10, вы можете видеть выход в течение 10 секунд, используя:
$ cat /tmp/top*
top CPU(s) summary for 13/06/2017
19:17:34 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:35 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:36 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:37 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:38 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:39 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:41 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:42 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:43 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:44 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
Вы можете выбрать другую статистику для журнала:
Частота процессора (частота в Mhz или Ghz). коэффициент нагрузки. Дальше эта статистика может быть сегментирована для каждого процессора, т. е. от # 1 до # 8 для четырехъядерного процессора с гиперпотоками.Для простоты я опишу этот ответ, используя средний коэффициент загрузки, аналогичный ответу: Как зарегистрировать загрузку процессора?
Вам понадобится сценарий bash для цикла 7 200 секунд (2 часа), который будет выглядеть следующим образом:
#!/bin/bash
for ((i=0; i<7200; i++))
do
uptime >> /home/user/cpuload.log
sleep 1
done
Чтобы посмотреть на ваш выход, используйте команду:
$ cat cpuload.log
20:04:06 up 2 days, 14 min, 1 user, load average: 1.39, 1.12, 0.95
Среднее значение нагрузки сообщает три переменные - последнюю минуту, последние пять минут и последние пятнадцать минут. Для простоты рассмотрим только среднее значение последней минуты, которое сообщается каждую секунду в нашем цикле.
Вы можете импортировать файл cpuload.log в электронную таблицу и графически отображать точки данных за два часа или просто прокручивать данные. Я использую Libre Office Calc, но все современные электронные таблицы могут импортировать файл.
В приведенном выше примере средняя средняя продолжительность загрузки равна 1.39. Это кажется опасно высоким, потому что что-либо более .70 заслуживает расследования, а 1.00 означает, что есть бутылочная горловина, и процессы не обслуживаются и им приходится ждать.
Однако в вашей таблице вы будете иметь для деления средней нагрузки на количество процессоров, которые у вас есть. Чтобы быстро найти это, используйте команду:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
2074968
2133093
2094750
1863843
1728562
1855875
1849125
1778156
Это показывает, что есть 8 процессоров (это четырехъядерный гиперпоточный процессор Intel i-7 3630QM, работающий от 1200 МГц до 3400 МГц). В этом снимке CPU # 1 (называемый CPU0 внутри) работает на 2,0749.68 Mhz, а CPU # 8 работает на 1,7781.56 Mhz. Но я отвлекаюсь, важно подсчитать, сколько у них процессоров составляет 8.
Итак, разделите среднее значение нагрузки 1.39 на 8, а среднее значение TRUE - 0.17, которое очень респектабельное. Еще раз любое значение над 0.70 заслуживает расследования, а когда оно попадает 1.00, ваша система задерживается. Вы можете прочитать далее Как зарегистрировать загрузку процессора?
Чтобы использовать команда top для просмотра 10 наиболее ресурсоемких процессов использует эту команду вместо команды uptime:
top -n 1 -b | head -n 17 | tail -n 10 >> /home/user/top10.log
Файл /home/user/top10.log будет выглядеть примерно так (повторяется каждую секунду для двух часы]:
$ top -n 1 -b | head -n 17 | tail -n 10
6170 rick 20 0 1437432 537000 126060 S 62.5 6.7 8:50.24 chrome
2466 rick 20 0 1210040 140568 61864 S 6.2 1.8 22:16.88 compiz
4111 rick 20 0 742396 248724 185820 S 6.2 3.1 36:26.68 chrome
6280 rick 20 0 41800 3668 3124 R 6.2 0.0 0:00.01 top
10096 root 20 0 0 0 0 S 6.2 0.0 0:00.47 kworker/0:2
1 root 20 0 120064 6244 4000 S 0.0 0.1 0:02.23 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.31 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:+
7 root 20 0 0 0 0 S 0.0 0.0 1:39.28 rcu_sched
ПРИМЕЧАНИЕ: замените user на свое фактическое имя пользователя.
Как и в первом разделе, создайте скрипт bash для цикла 7 200 секунд:
#!/bin/bash
# NAME: ~/bin/cpu-top-summary
# DATE: June 13, 2017
# DESC: Call `top` command every second to obtain CPU(s) stats for
# us, sy, ni, id, wa, hi, si, and st. Log to /tmp/top-cpu-summary.log
# with time stamp in hh:mm:ss 24 hour format.
# PARM: $1 number of seconds to run, ie 2 hours = 7200
now="$(date +'%d/%m/%Y')"
printf "top CPU(s) summary for %s\n" "$now" > /tmp/top-cpu-summary.log
for ((i=0; i<$1; i++))
do
TimeStamp=`date +"%H:%M:%S"`
printf "$TimeStamp - " >> /tmp/top-cpu-summary.log
top -n 1 -b | head -n 3 | tail -n 1 >> /tmp/top-cpu-summary.log
sleep 1
done
Когда вы вызываете скрипт bash с помощью top-cpu-summary 10, вы можете видеть выход в течение 10 секунд, используя:
$ cat /tmp/top*
top CPU(s) summary for 13/06/2017
19:17:34 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:35 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:36 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:37 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:38 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:39 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:41 - %Cpu(s): 25.0 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:42 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:43 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
19:17:44 - %Cpu(s): 24.9 us, 9.2 sy, 0.0 ni, 65.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
Вместо того, чтобы писать сценарии самостоятельно, вы можете использовать collectl и, возможно, объединить это с графитом и grafana, чтобы визуализировать результаты.
С сайта collectl:
Существует ряд времени, в течение которого вам требуется информация о производительности. Они могут включать бенчмаркинг, мониторинг общей системы системы или попытку определить, что ваша система делала в свое время в прошлом. В зависимости от того, что вы делаете, вы часто используете различные инструменты, каждый из которых предназначен для этой конкретной ситуации. В отличие от большинства инструментов мониторинга, которые либо сосредоточены на небольшом наборе статистических данных, форматируют их вывод только одним способом, либо запускаются либо как в качестве демона, либо не как оба, сборщик пытается сделать все это. Вы можете контролировать любой из широкого набора подсистем, которые в настоящее время включают в себя buddyinfo, cpu, disk, inodes, infiniband, luster, memory, network, nfs, процессы, квадрики, плиты, сокеты и tcp. Выход Collectl также может быть сохранен в скользящем наборе журналов для последующего воспроизведения или интерактивно отображаться в различных форматах. Если этого недостаточно, есть плагины, которые позволяют вам сообщать данные в альтернативных форматах или даже отправлять их через сокет удаленным инструментам, таким как ганглии или графит. Вы даже можете создавать файлы в формате, разделенном пробелами, для построения с использованием внешних пакетов, таких как gnuplot.Вместо того, чтобы писать сценарии самостоятельно, вы можете использовать collectl и, возможно, объединить это с графитом и grafana, чтобы визуализировать результаты.
С сайта collectl:
Существует ряд времени, в течение которого вам требуется информация о производительности. Они могут включать бенчмаркинг, мониторинг общей системы системы или попытку определить, что ваша система делала в свое время в прошлом. В зависимости от того, что вы делаете, вы часто используете различные инструменты, каждый из которых предназначен для этой конкретной ситуации. В отличие от большинства инструментов мониторинга, которые либо сосредоточены на небольшом наборе статистических данных, форматируют их вывод только одним способом, либо запускаются либо как в качестве демона, либо не как оба, сборщик пытается сделать все это. Вы можете контролировать любой из широкого набора подсистем, которые в настоящее время включают в себя buddyinfo, cpu, disk, inodes, infiniband, luster, memory, network, nfs, процессы, квадрики, плиты, сокеты и tcp. Выход Collectl также может быть сохранен в скользящем наборе журналов для последующего воспроизведения или интерактивно отображаться в различных форматах. Если этого недостаточно, есть плагины, которые позволяют вам сообщать данные в альтернативных форматах или даже отправлять их через сокет удаленным инструментам, таким как ганглии или графит. Вы даже можете создавать файлы в формате, разделенном пробелами, для построения с использованием внешних пакетов, таких как gnuplot.