标签:
近期上线的模块,总会莫名其妙的将服务器搞死,在服务器上执行任何命令总会报 -bash: fork: Cannot allocate memory
再等待一段时间后,连ssh都无法进行,下面这两条命令,可以查看占用当前机器CPU、MEM的top:
# linux 下 取进程占用 cpu 最高的前10个进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
# linux 下 取进程占用内存(MEM)最高的前10个进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
ps aux 详解:
# ps aux|head -1 #显示ps aux执行的第一行 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
VSZ表示如果一个程序完全驻留在内存的话需要占用多少内存空间; RSS指明了当前实际占用了多少内存; STAT显示了进程当前的状态: D 不可中断 Uninterruptible(usually IO) R 正在运行,或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换(从内核2.6开始无效) X 死掉的进程
1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。 2)ps -A 显示所有程序。 3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 4)ps -e 此参数的效果和指定"A"参数相同。 5)ps e 列出程序时,显示每个程序所使用的环境变量。 6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。 7)ps -H 显示树状结构,表示程序间的相互关系。 8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。 9)ps s 采用程序信号的格式显示程序状况。 10)ps S 列出程序时,包括已中断的子程序资料。 11)ps -t <终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。 12)ps u 以用户为主的格式来显示程序状况。 13)ps x 显示所有程序,不以终端机来区分。
14)ps -l 较长,较详细的显示该PID的信息
标签:
原文地址:http://www.cnblogs.com/inoops/p/4270292.html