当前位置: 首页 > 科技观察

有用的脚本:检查高CPU-内存消耗进程

时间:2023-03-18 01:01:29 科技观察

过去,我们写了三篇不同的文章来使用Linux命令识别这些进程。您可以通过以下相关网址立即访问:如何找出Linux中的CPU密集型进程如何找出Linux中最耗内存的进程如何找出Linux中命令或进程的执行时间本教程包含两个脚本,可帮助您确定Linux上高CPU/内存消耗进程的运行时间。该脚本将显示进程ID、进程所有者、进程名称以及进程运行的时间。这将帮助您确定哪些(必须事先完成)作业正在超时运行。这可以使用ps命令来实现。什么是ps命令ps是进程状态进程状态,它显示有关系统上活动/运行进程的信息。它提供当前进程的快照,其中包含用户名、用户ID、CPU使用情况、内存使用情况、进程启动日期和时间等详细信息。1)Bash脚本,用于检查高CPU消耗进程在Linux上运行了多长时间这脚本将帮助您确定高CPU消耗进程在Linux上运行了多长时间。#vi/opt/scripts/long-running-cpu-proc.sh#!/bin/bashps-eopid,user,ppid,%mem,%cpu,cmd--sort=-%cpu|头|尾-n+2|awk'{print$1}'>/tmp/long-running-processes.txtecho"---------------------------------------------"echo"UNamePIDCMDProcess_Running_Time"echo"------------------------------------------------"用于`cat/tmp/long-running-processes.txt`dousername=$(ps-u-p$userid|tail-1|awk'{print$1}')pruntime=$(ps-p$userid-oetime|tail-1)ocmd=$(ps-p$userid|tail-1|awk'{print$4}')echo"$username$userid$ocmd$pruntime"完成|专栏-techo“------------------------------------------------》为long-running-cpu-proc.sh设置可执行Linux文件权限。#chmod+x/opt/scripts/long-running-cpu-proc.sh运行此脚本时,您将获得类似于以下内容的输出:#sh/opt/scripts/long-running-cpu-proc.sh-------------------------------------------------UNamePIDCMDProcess_Running_Time-------------------------------------------------daygeek5214Web01:18:48daygeek5748Web01:08:20daygeek8043inkscape22:11daygeek5269Web01:18:31daygeek1712Web10:44:50daygeek5335RDD01:17:54daygeek1639:firefox1044:51daygeek7793nautilus24:14daygeek6301Web57:40--------------------------------------------------2)用于检查高内存消耗进程在Linux上运行多长时间的Bash脚本该脚本将帮助您确定最大内存消耗进程在Linux上运行多长时间.#sh/opt/scripts/long-running-memory-proc.sh#!/bin/bashps-eopid,user,ppid,%mem,%cpu,cmd--sort=-%mem|头|尾-n+2|awk'{print$1}'>/tmp/long-running-processes-1.txtecho"----------------------------------------------"echo"UNamePIDCMDProcess_Running_Time"echo"--------------------------------------------------“用于`cat/tmp/long-running-processes-1.txt`dousername中的用户标识=$(ps-u-p$userid|tail-1|awk'{print$1}')pruntime=$(ps-p$userid-oetime|tail-1)ocmd=$(ps-p$userid|tail-1|awk'{print$4}')echo"$username$userid$ocmd$pruntime"done|专栏-techo“------------------------------------------------》设置可执行Linux文件为long-running-memory-proc.sh权限。#chmod+x/opt/scripts/long-running-memory-proc.sh运行此脚本时,您将获得类似于以下内容的输出:#sh/opt/scripts/long-running-memory-proc.sh-------------------------------------------------UNamePIDCMDProcess_Running_Time-------------------------------------------------daygeek1639firefox10:44:56daygeek2997web10:39:54daygeek5269web01:18:37daygeek1712web10:44:55daygeek8043inkscape22:17daygeek5214web01:18:54daygeek1898web10:44:48daygeek1129Xorg10:45:07daygeek6301Web57:45------------------------------------------------------