Неприятные пики ЦП, которые не связаны ни с какими видимыми процессами

У меня была такая проблема и я подозревал, что что-то связано с настройкой прокси-сервера, которая не работает для некоторых из доступов из CPAN ... Не смотрел глубже, но попробуйте проверить этот поток сообщества ActiveState, чтобы узнать, помогает ли он вам. Будет снова появляться, чтобы узнать, есть ли полезные ответы для нас обоих :-)

7
задан 8 July 2012 в 21:28

54 ответа

Это может быть поток ядра, который по умолчанию скрыт в большинстве мониторов производительности. В htop вы можете скрыть / показать потоки ядра с помощью «K» (shift + k).

1
ответ дан 25 July 2018 в 23:18

Это может быть поток ядра, который по умолчанию скрыт в большинстве мониторов производительности. В htop вы можете скрыть / показать потоки ядра с помощью «K» (shift + k).

1
ответ дан 31 July 2018 в 12:14

Это может быть поток ядра, который по умолчанию скрыт в большинстве мониторов производительности. В htop вы можете скрыть / показать потоки ядра с помощью «K» (shift + k).

1
ответ дан 2 August 2018 в 04:35

Это может быть поток ядра, который по умолчанию скрыт в большинстве мониторов производительности. В htop вы можете скрыть / показать потоки ядра с помощью «K» (shift + k).

1
ответ дан 4 August 2018 в 21:10

Это может быть поток ядра, который по умолчанию скрыт в большинстве мониторов производительности. В htop вы можете скрыть / показать потоки ядра с помощью «K» (shift + k).

1
ответ дан 6 August 2018 в 04:38

Это может быть поток ядра, который по умолчанию скрыт в большинстве мониторов производительности. В htop вы можете скрыть / показать потоки ядра с помощью «K» (shift + k).

1
ответ дан 7 August 2018 в 22:49

Это может быть поток ядра, который по умолчанию скрыт в большинстве мониторов производительности. В htop вы можете скрыть / показать потоки ядра с помощью «K» (shift + k).

1
ответ дан 10 August 2018 в 10:54

Это может быть поток ядра, который по умолчанию скрыт в большинстве мониторов производительности. В htop вы можете скрыть / показать потоки ядра с помощью «K» (shift + k).

1
ответ дан 13 August 2018 в 17:29

«CPU достигает 80-90% занятого во всех ядрах в течение примерно 5 минут»

. Такое использование позволит вам точно определить виновника, используя pidstat, доступный в пакете sysstat.

Просто запустите pidstat -u | sort -nr -k 7,7 | head -10, и процесс, который использовал большинство CPU, должен быть верхней строкой.

3
ответ дан 29 May 2018 в 12:53
  • 1
    Хороший отзыв о pidstat. Первый раз наткнулся на него. – harperville 14 March 2014 в 21:12

Я попытался бы найти причину проблемы с некоторым сценарием оболочки:

#!/bin/sh
MAXLOAD=100
CURRLOAD=`uptime | sed 's@.*load average: \([^,]*\).*@\1@' | sed 's@0\?.0\?@@'`

if [ $CURRLOAD -gt $MAXLOAD ]; then                                             
  ps -eo tid,pcpu,comm | sort -n -k 2 | tail -n 5 | \
    mail -s "High load" -e your@addre.ss
fi

Сценарий имеет две переменные MAXLOAD и CURRLOAD. Первый должен быть большой нагрузкой, умноженной на 100. Поэтому, если вы столкнулись с всплеском и видите, что системная нагрузка увеличивается до 2 или 3, вы должны установить MAXLOAD на некоторое значение около 200. $CURRLOAD выводит результат uptime, ищет нагрузку и удаляет точку, а также ведущие нули.

Если загрузка в какой-то момент высока, она выдает пять процессов с наибольшим использованием ЦП и отправляет их в [ f7].

Этот скрипт должен помочь вам найти причину всплеска, и если вы это знаете, возможно, вы сможете решить свою проблему.

2
ответ дан 29 May 2018 в 12:53

Чтобы получить результат сверху, который вы можете сохранить: top -b -n1

Придерживайтесь этого в cronjob, и вы можете посмотреть на подробный список процессов даже после того, как проблема исчезнет. Пример записи crontab:

* * * * * top -b -n1 > /tmp/top_output_$(date +%Y-%m-%d_%H:%M:%S)

Это сохранит ее в одном файле в минуту в / tmp

1
ответ дан 29 May 2018 в 12:53

Есть некоторые исправленные ошибки, которые могут исправить эту проблему. Если вы используете Ubuntu, я предлагаю придерживаться ядра Ubuntu, чтобы забрать исправления через регулярные обновления. Я бы рекомендовал установить Lucid для поддержки и стабильности. Вы можете пойти с Maverick, если есть функции, о которых вы знаете, которые вам не нужны в Lucid.

1
ответ дан 29 May 2018 в 12:53

Я думаю, что это проблема ядра. Я бы вернулся к официально проверенной версии.

0
ответ дан 29 May 2018 в 12:53
  • 1
    Честно говоря, это nvidia, учитывая, что другие пользователи своих последних драйверов сообщают о подобных проблемах. См. Мое редактирование в нижней части вопроса. – Oli♦ 8 August 2010 в 16:26
  • 2
    Время понизить это тогда :) – Thorbjørn Ravn Andersen 8 August 2010 в 19:29

Есть несколько недавно исправленных ошибок, которые могут исправить эту проблему. Если вы работаете в Ubuntu, я бы посоветовал придерживаться ядра Ubuntu, чтобы получать исправления через регулярные обновления. Я бы рекомендовал установить Lucid для поддержки и стабильности. Вы можете пойти с Maverick, если есть функции, о которых вы знаете, которых нет в Lucid, которые вам нужны.

1
ответ дан 25 July 2018 в 23:18

«Процессор загружается на 80-90% во всех ядрах примерно на 5 минут»

Такое большое использование может позволить вам точно определить виновника с помощью pidstat, доступного в пакете sysstat.

Просто запустите pidstat -u | sort -nr -k 7,7 | head -10, и процесс, который использовал больше всего процессоров, должен быть в верхней строке.

3
ответ дан 25 July 2018 в 23:18

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

#!/bin/sh
MAXLOAD=100
CURRLOAD=`uptime | sed 's@.*load average: \([^,]*\).*@\1@' | sed 's@0\?.0\?@@'`

if [ $CURRLOAD -gt $MAXLOAD ]; then                                             
  ps -eo tid,pcpu,comm | sort -n -k 2 | tail -n 5 | \
    mail -s "High load" -e your@addre.ss
fi

В сценарии есть две переменные MAXLOAD и CURRLOAD. Первый из них должен быть высокой нагрузкой, умноженной на 100. Так что, если вы столкнетесь с пиковым значением и увидите, что нагрузка на систему возрастает до 2 или 3, то вам следует установить для MAXLOAD значение около 200. $CURRLOAD принимает выход uptime ищет нагрузку и удаляет точку, а также начальные нули.

Если нагрузка в какой-то момент слишком высока, она распечатывает пять процессов с наибольшей загрузкой ЦП и отправляет их в your@addre.ss.

Этот скрипт должен помочь вам найти причину всплеска, и, если вы знаете это, вы, возможно, сможете решить вашу проблему.

2
ответ дан 25 July 2018 в 23:18

Я думаю, что это проблема ядра. Я бы вернулся к официально протестированной версии.

0
ответ дан 25 July 2018 в 23:18

Чтобы получить вывод из top, который вы можете сохранить: top -b -n1

Вставьте это в cronjob, и вы сможете просмотреть подробный список процессов даже после устранения проблемы. Пример записи в crontab:

* * * * * top -b -n1 > /tmp/top_output_$(date +%Y-%m-%d_%H:%M:%S)

Это сохранит его в одном файле в минуту в / tmp

1
ответ дан 27 July 2018 в 03:54

«Процессор загружается на 80-90% во всех ядрах примерно на 5 минут»

Такое большое использование может позволить вам точно определить виновника с помощью pidstat, доступного в пакете sysstat.

Просто запустите pidstat -u | sort -nr -k 7,7 | head -10, и процесс, который использовал больше всего процессоров, должен быть в верхней строке.

3
ответ дан 27 July 2018 в 03:54

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

#!/bin/sh
MAXLOAD=100
CURRLOAD=`uptime | sed 's@.*load average: \([^,]*\).*@\1@' | sed 's@0\?.0\?@@'`

if [ $CURRLOAD -gt $MAXLOAD ]; then                                             
  ps -eo tid,pcpu,comm | sort -n -k 2 | tail -n 5 | \
    mail -s "High load" -e your@addre.ss
fi

В сценарии есть две переменные MAXLOAD и CURRLOAD. Первый из них должен быть высокой нагрузкой, умноженной на 100. Так что, если вы столкнетесь с пиковым значением и увидите, что нагрузка на систему возрастает до 2 или 3, то вам следует установить для MAXLOAD значение около 200. $CURRLOAD принимает выход uptime ищет нагрузку и удаляет точку, а также начальные нули.

Если нагрузка в какой-то момент слишком высока, она распечатывает пять процессов с наибольшей загрузкой ЦП и отправляет их в your@addre.ss.

Этот скрипт должен помочь вам найти причину всплеска, и, если вы знаете это, вы, возможно, сможете решить вашу проблему.

2
ответ дан 27 July 2018 в 03:54

Я думаю, что это проблема ядра. Я бы вернулся к официально протестированной версии.

0
ответ дан 27 July 2018 в 03:54

Есть несколько недавно исправленных ошибок, которые могут исправить эту проблему. Если вы работаете в Ubuntu, я бы посоветовал придерживаться ядра Ubuntu, чтобы получать исправления через регулярные обновления. Я бы рекомендовал установить Lucid для поддержки и стабильности. Вы можете пойти с Maverick, если есть функции, о которых вы знаете, которых нет в Lucid, которые вам нужны.

1
ответ дан 31 July 2018 в 12:14

Чтобы получить вывод из top, который вы можете сохранить: top -b -n1

Вставьте это в cronjob, и вы сможете просмотреть подробный список процессов даже после устранения проблемы. Пример записи в crontab:

* * * * * top -b -n1 > /tmp/top_output_$(date +%Y-%m-%d_%H:%M:%S)

Это сохранит его в одном файле в минуту в / tmp

1
ответ дан 31 July 2018 в 12:14

«Процессор загружается на 80-90% во всех ядрах примерно на 5 минут»

Такое большое использование может позволить вам точно определить виновника с помощью pidstat, доступного в пакете sysstat.

Просто запустите pidstat -u | sort -nr -k 7,7 | head -10, и процесс, который использовал больше всего процессоров, должен быть в верхней строке.

3
ответ дан 31 July 2018 в 12:14

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

#!/bin/sh
MAXLOAD=100
CURRLOAD=`uptime | sed 's@.*load average: \([^,]*\).*@\1@' | sed 's@0\?.0\?@@'`

if [ $CURRLOAD -gt $MAXLOAD ]; then                                             
  ps -eo tid,pcpu,comm | sort -n -k 2 | tail -n 5 | \
    mail -s "High load" -e your@addre.ss
fi

В сценарии есть две переменные MAXLOAD и CURRLOAD. Первый из них должен быть высокой нагрузкой, умноженной на 100. Так что, если вы столкнетесь с пиковым значением и увидите, что нагрузка на систему возрастает до 2 или 3, то вам следует установить для MAXLOAD значение около 200. $CURRLOAD принимает выход uptime ищет нагрузку и удаляет точку, а также начальные нули.

Если нагрузка в какой-то момент слишком высока, она распечатывает пять процессов с наибольшей загрузкой ЦП и отправляет их в your@addre.ss.

Этот скрипт должен помочь вам найти причину всплеска, и, если вы знаете это, вы, возможно, сможете решить вашу проблему.

2
ответ дан 31 July 2018 в 12:14

Я думаю, что это проблема ядра. Я бы вернулся к официально протестированной версии.

0
ответ дан 31 July 2018 в 12:14

Есть несколько недавно исправленных ошибок, которые могут исправить эту проблему. Если вы работаете в Ubuntu, я бы посоветовал придерживаться ядра Ubuntu, чтобы получать исправления через регулярные обновления. Я бы рекомендовал установить Lucid для поддержки и стабильности. Вы можете пойти с Maverick, если есть функции, о которых вы знаете, которых нет в Lucid, которые вам нужны.

1
ответ дан 2 August 2018 в 04:35

Чтобы получить вывод из top, который вы можете сохранить: top -b -n1

Вставьте это в cronjob, и вы сможете просмотреть подробный список процессов даже после устранения проблемы. Пример записи в crontab:

* * * * * top -b -n1 > /tmp/top_output_$(date +%Y-%m-%d_%H:%M:%S)

Это сохранит его в одном файле в минуту в / tmp

1
ответ дан 2 August 2018 в 04:35

«Процессор загружается на 80-90% во всех ядрах примерно на 5 минут»

Такое большое использование может позволить вам точно определить виновника с помощью pidstat, доступного в пакете sysstat.

Просто запустите pidstat -u | sort -nr -k 7,7 | head -10, и процесс, который использовал больше всего процессоров, должен быть в верхней строке.

3
ответ дан 2 August 2018 в 04:35

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

#!/bin/sh
MAXLOAD=100
CURRLOAD=`uptime | sed 's@.*load average: \([^,]*\).*@\1@' | sed 's@0\?.0\?@@'`

if [ $CURRLOAD -gt $MAXLOAD ]; then                                             
  ps -eo tid,pcpu,comm | sort -n -k 2 | tail -n 5 | \
    mail -s "High load" -e your@addre.ss
fi

В сценарии есть две переменные MAXLOAD и CURRLOAD. Первый из них должен быть высокой нагрузкой, умноженной на 100. Так что, если вы столкнетесь с пиковым значением и увидите, что нагрузка на систему возрастает до 2 или 3, то вам следует установить для MAXLOAD значение около 200. $CURRLOAD принимает выход uptime ищет нагрузку и удаляет точку, а также начальные нули.

Если нагрузка в какой-то момент слишком высока, она распечатывает пять процессов с наибольшей загрузкой ЦП и отправляет их в your@addre.ss.

Этот скрипт должен помочь вам найти причину всплеска, и, если вы знаете это, вы, возможно, сможете решить вашу проблему.

2
ответ дан 2 August 2018 в 04:35

Другие вопросы по тегам:

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