检测系统中进程占满单个cpu的情况

#!/bin/bash
function thread_used_cpu(){
    # $1 为单个cpu负载的百分比
    if [[  $1 == ""  ]];then
       full_load_percent=95
    else
       full_load_precent=$1
    fi
    ps_info=(`ps H -eo pid|uniq -c|grep -v 'PID'|awk '{ if ($1==1) print $2}'`)
    echo ${ps_info[@]}|grep '5350'
    grep_string=$(echo ${ps_info[@]}|sed 's/ /\|/g')
    echo "`ps H -eo pid,psr,pcpu,comm,tid |grep -E ${grep_string}|awk -v full_load_percent=$full_load_percent '{ if ($3 > full_load_percent) print "pid:"$1",核心号:"$2",cpu使用率:"$3",进程名称:"$4",线程id:"$5; else print "None" }'`"
}
thread_used_cpu
    

原文地址:https://www.cnblogs.com/randomlee/p/11576686.html

时间: 2024-11-09 09:25:37

检测系统中进程占满单个cpu的情况的相关文章

Linux系统中进程的创建

1.Linux中的进程 进程是程序执行的一个实例,也是系统资源调度的最小单位.如果同一个程序被多个用户同时运行,那么这个程序就有多个相对独立的进程,与此同时他们又共享相同的执行代码,在Linux系统中进程的概念类似于任务或者线程(task & threads). 进程是一个程序运行时候的一个实例实际上说的是它就是一个可以充分描述程序以达到了其可以运行状态的的一个数据和代码集合.一个进程会被产生并会复制出自己的子代,类似细胞分裂一样.从系统的角度来看进程的任务实际上就是担当承载系统资源的单位,系统

Linux 系统磁盘空间占满,df 和 du 结果不一致

服务器运行一段时间后df查看磁盘剩余空间不足,通过du统计发现被几个文件占用,遂删除之.过了一段时间磁盘空间再次不足,通过du统计却找不到那么多大文件.搜索后才得知原因:文件删除后空间没有释放,du统计不到这部分文件:需要通过lsof排查,然后kill文件进程.以下记录排查处理过程: df查看分区使用情况 df(Disk Free) 以磁盘分区为单位查看文件系统,获取硬盘被占用空间和剩余空间等信息.df 默认显示的文件大小单位Byte:使用命令df -h,以KB,MB,GB为单位,提高可读性.

使用gawk记录一段时间内,某个进程占用内存和CPU的情况

很多时候,我们在后台测试程序的时候,都需要隔一段时间监控程序的内存和CPU占用情况,但是又不能经常盯着top命令的输出. 这时候就需要使用脚本来帮我们记录这些信息,方便我们监控了. 废话不多说,直接上代码: ```shell #!/bin/bash FileName="res.txt" echo "%CPU\t%MEM" > $FileName for (( i = 0; i < 10; i++ )) do output=`top -n 1 -p 1 &

windows 32位系统中进程最大可用内存空间为3GB (转)

http://msdn.microsoft.com/zh-cn/library/ms189334.aspx 进程地址空间 所有 32 位应用程序都有 4 GB 的进程地址空间(32 位地址最多可以映射 4 GB 的内存).对于 Microsoft Windows 操作系统,应用程序可以访问 2 GB 的进程地址空间,称为用户模式虚拟地址空间.应用程序拥有的所有线程都共享同一个用户模式虚拟地址空间.其余 2 GB 为操作系统保留(也称为内核模式地址空间).所有操作系统版本(从 Windows 20

Linux中进程与线程及CPU使用率查询

一.进程查询: ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 说明:PCPU是Cpu使用率,8核最多是800. 二.线程查询: cat /proc/13284/status 说明:13284是进程ID.

计算Linux系统和进程和线程的CPU及内存使用率(c++源码)

proc文件系统下的 /proc/stat, /proc/meminfo, /proc/<pid>/status, /proc/<pid>/stat 总的cpu时间totalCpuTime = user + nice+ system + idle + iowait + irq + softirq + stealstolen +  guest 进程的总Cpu时间processCpuTime = utime + stime + cutime + cstime 占用内存的计算方法:pme

浅谈Linux系统中如何查看进程 ——ps,pstree,top,w,全解

进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源.一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝. 1,ps命令 作用:ps命令主要用于查看系统中进程的状态. 用法:ps [选项] 主要选项如下: -e 显示所有进程 -a 跟终端无关的进程 (BSD风格,不加横杆) -x 跟终端有关的进程 -u 发起者 -F 额外信息 -f 显示完整信息 -j 以作业的方式显示进程 -H 显示进程的关系 -o 自定义显示哪些字段 单一

理解Linux系统中的load average

理解Linux系统中的load average(图文版) 博客分类: Linux linux load nagios 一.什么是load average? linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing).也有简单的说是进程队列的长度. Load Average 就是一段时间 (1 分钟.5分钟.15分钟

[转]理解Linux系统中的load average

转自:http://heipark.iteye.com/blog/1340384 谢谢,写的非常好的文章. 一.什么是load average linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing).也有简单的说是进程队列的长度. Load Average 就是一段时间 (1 分钟.5分钟.15分钟) 内平均