У меня есть одноядерный VPS со средней нагрузкой, которая выходит за пределы 25 раз. Когда он достигает этого, он становится невыносимо медленным, и даже команды выполняются через dash, что быстрее и использует меньше ОЗУ, чем bash, для выполнения требуется некоторое время. Как я могу отслеживать, какой процесс вызывает высокую нагрузку?
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
Вчера я учился awk
, и я играл с двумя другими ответами. Вот результат:
ps aux
: ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
top
: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
ps aux
: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался запустить последние две команды одновременно (с <command>; wait; <command>
и <command> & <command> &
), но потом я понял, что это невозможно вообще:)
Ссылки:
P
для сортировки по использованию процессора, M
для памяти или T
для времени и t
, чтобы вернуться к макету дерева.
– deltab
6 November 2017 в 07:53
NR>=2
- получается ps
предоставляет опцию h
, которая опускает строку заголовка, см. Мой обновленный ответ.
– dessert
6 November 2017 в 14:12
NR>=2
, но NR>1
коротка :) Я обновил ответ.
– pa4080
6 November 2017 в 14:21
htop
имеет базовую поддержку мыши. Если вы нажмете на столбцы, это позволит вам сортировать их тоже (если я не ошибаюсь). Есть и другие операции, которые работают с вашей мышью.
– Ismael Miguel
6 November 2017 в 17:27
Вы можете установить htop
. Хорошая вещь о htop
заключается в том, что он покажет вам ваше использование на процессор, а также полноценный текстовый график вашей памяти и использование swap в верхней части.
Для установки htop
:
sudo apt-get install htop
Запустить его:
htop
Нажмите F6
, чтобы отсортировать процессы, затем с помощью навигационной клавиши вы вы можете выбрать PERCENT_CPU
и нажать enter.
Или вы можете использовать top
таким образом ( источник ) :
top -b -n 1 | head -n 12
P
для сортировки по использованию процессора, M
для памяти или T
для времени и t
, чтобы вернуться к макету дерева.
– deltab
6 November 2017 в 07:53
htop
имеет базовую поддержку мыши. Если вы нажмете на столбцы, это позволит вам сортировать их тоже (если я не ошибаюсь). Есть и другие операции, которые работают с вашей мышью.
– Ismael Miguel
6 November 2017 в 17:27
Ниже вы можете просто украсть у Unix.SE: найти процесс, который использует максимальное использование ЦП, если использование ЦП составляет более 60% ?, хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0%, вы можете изменить это значение в соответствии с вашими потребностями, например [F4]. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхнюю пятую (NR<=5), которые в настоящее время вызывают наибольшую нагрузку на процессор.
Вчера я учился awk, и я играл с двумя другими ответами. Вот результат:
Получите только процесс с самым высоким использованием ЦП, используя ps aux:ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
Получите три процесса с самым высоким использованием ЦП, используя top: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
Получите три процесса с самым высоким использованием ЦП, используя ps aux: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался одновременно запускать последние две команды (с <command>; wait; <command> и <command> & <command> &), но то я понял, что это невозможно вообще:)
Ссылки:
Получить только процесс с самым высоким использованием ЦП , используя ps aux:ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
Найдите максимальное значение столбца 1 и напечатайте соответствующую запись из столбца 2 из файла. Получите три процесса с самым высоким использованием ЦП, используя top: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
Ниже вы можете просто украсть у Unix.SE: найти процесс, который использует максимальное использование ЦП, если использование ЦП составляет более 60% ?, хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0%, вы можете изменить это значение в соответствии с вашими потребностями, например [F4]. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхнюю пятую (NR<=5), которые в настоящее время вызывают наибольшую нагрузку на процессор.
Вчера я учился awk, и я играл с двумя другими ответами. Вот результат:
Получите только процесс с самым высоким использованием ЦП, используя ps aux:ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
Получите три процесса с самым высоким использованием ЦП, используя top: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
Получите три процесса с самым высоким использованием ЦП, используя ps aux: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался одновременно запускать последние две команды (с <command>; wait; <command> и <command> & <command> &), но то я понял, что это невозможно вообще:)
Ссылки:
Получить только процесс с самым высоким использованием ЦП , используя ps aux:ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
Найдите максимальное значение столбца 1 и напечатайте соответствующую запись из столбца 2 из файла. Получите три процесса с самым высоким использованием ЦП, используя top: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
Ниже вы можете просто украсть у Unix.SE: найти процесс, который использует максимальное использование ЦП, если использование ЦП составляет более 60% ?, хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0%, вы можете изменить это значение в соответствии с вашими потребностями, например [F4]. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхнюю пятую (NR<=5), которые в настоящее время вызывают наибольшую нагрузку на процессор.
Вчера я учился awk, и я играл с двумя другими ответами. Вот результат:
Получите только процесс с самым высоким использованием ЦП, используя ps aux:ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
Получите три процесса с самым высоким использованием ЦП, используя top: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
Получите три процесса с самым высоким использованием ЦП, используя ps aux: ps auxh --sort=-c | awk 'NR<=3 {printf "ps: %5s %6d %s\n",$3,$2,$11}'
Я пытался одновременно запускать последние две команды (с <command>; wait; <command> и <command> & <command> &), но то я понял, что это невозможно вообще:)
Ссылки:
Получить только процесс с самым высоким использованием ЦП , используя ps aux:ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
Найдите максимальное значение столбца 1 и напечатайте соответствующую запись из столбца 2 из файла. Получите три процесса с самым высоким использованием ЦП, используя top: top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП составляет более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с вашими потребностями, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхний 5 (NR<=5
), которые в настоящее время вызывают наибольшую загрузку процессора.
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП составляет более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с вашими потребностями, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхний 5 (NR<=5
), которые в настоящее время вызывают наибольшую загрузку процессора.
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с вашими потребностями, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхний 5 (NR<=5
), которые в настоящее время вызывают наибольшую загрузку процессора.
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с вашими потребностями, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхний 5 (NR<=5
), которые в настоящее время вызывают наибольшую загрузку процессора.
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП составляет более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с вашими потребностями, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхний 5 (NR<=5
), которые в настоящее время вызывают наибольшую загрузку процессора.
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с вашими потребностями, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхний 5 (NR<=5
), которые в настоящее время вызывают наибольшую загрузку процессора.
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с вашими потребностями, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхний 5 (NR<=5
), которые в настоящее время вызывают наибольшую загрузку процессора.
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
^^^^
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с вашими потребностями, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхний 5 (NR<=5
), которые в настоящее время вызывают наибольшую загрузку процессора.
Ниже всего лишь украдено из Unix.SE: найдите процесс, который использует максимальное использование ЦП, если использование ЦП более 60%? , хотя, конечно, адаптировано к этому вопросу.
ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'
Это дает список процессов, которые имеют использование ЦП >0.0
%, вы можете изменить это значение в соответствии с к вашим потребностям, например >50.0
. Каждая строка содержит использование CPU в процентах, PID и файл процесса.
ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'
Это показывает верхние 5 (NR<=5
), которые в настоящее время вызывают наибольшую нагрузку на процессор.