ps
a 选项包括所有终端中的进程
x 选项包括不链接终端的进程
u 选项显示进程所有者的信息
f 选项显示进程树,相当于
k|--sort 属性 对属性排序
o 属性,选项显示定制的信息
L 显示支持的属性列表
常见选项[unix风格]
-C cmdlist 指定命令多,个命令用,分隔
-L 显示线程
-e: 显示所有进程,相当于-A
-f: 显示完整格式程序信息
-F: 显示更完整格式的进程信息
-H: 以进程层级格式显示进程相关信息
-u userlist 指定有效的用户ID或名称
-U userlist 指定真正的用户ID或名称
-g gid或groupname 指定有效的gid或组名称
-G gid或groupname 指定真正的gid或组名称
-p pid 显示指pid的进程
--ppid pid 显示属于pid的子进程
-M 显示SELinux信息,相当于Z
输出属性
VSZ: Virtual memory SiZe,虚拟内存集,线性内存
RSS: ReSident Size, 常驻内存集
STAT:进程状态
R:running
S: interruptable sleeping
D: uninterruptable sleeping
T: stopped
Z: zombie
+: 前台进程
l: 多线程进程
L:内存分页并带锁
N:低优先级进程
<: 高优先级进程
s: session leader,会话(子进程)发起者
ni: nice值
pri: priority 优先级
psr: processor CPU编号
rtprio: 实时优先级
示例:
ps axo pid,cmd,psr,ni,pri,rtprio
常用组合:
aux
-ef
-eFH
-eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
[unix], ps -ef, ps -eFH
ps aux
[root@lboy-snowyle-6 ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 19356 1556 ? Ss 07:26 0:00 /sbin/init
USER #USER
PID #程序进程编号
%CPU #占用cpu的百分比
%MEM #占用内存的百分比
VSZ #系统预分配的内存
RSS #真实使用的内存是
TTY #在哪个tty上运行
STAT #进程运行的状态
START #进程什么时候启动的
TIME #运行多长时间,占用CPU时间[时间片]
COMMAND #程序名称
ps axo pid,cmd,%cpu,%mem k %mem #按内存使用百分比排序
ps xo pid,cmd,euser,ruser,psr #有效用户,真实用户,当前进程对应的CPU
#进程优先级
进程优先级调整:
静态优先级:100-139
进程默认启动时的nice值为0,优先级为120
nice
nice -n -6 sleep 100 #nice值-6
nice --6 sleep 100 #nice值-6
nice -6 sleep 100 #nice值为6
renice
renice -n -10 2612
#测试
dd if=/dev/zero of=/dev/null
watch -n 1 'ps xo pid,cmd,pri,ni,rtprio,psr |grep dd'
watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'
ps 示例
ps -C src_name.sh o pid,cmd,%cpu,%mem #查看某个程序占用资源属性
ps -C src_name.sh -C ping o pid,cmd,%cpu,%mem #查看程序也可以查看指定命令
ps -p 3245 -o comm= #根据PID查找程序
ps -C src.sh -o pid= #根据程序查找PID
ps -C httpd #查看某个程序信息
ps -eo comm,etime,user |grep httpd #查看某个程序执行时间
ps -eo pid,ppid,cmd,%mem,%cpu --sort=%mem | head
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
#搜索进程
pgrep [options] pattern
u uid: effective user,生效者
U uid: real user,真正发起运行命令者
t terminal: 与指定终端相关的进程
l: 显示进程名
a: 显示完整格式的进程名
P pid: 显示指定进程的子进程
pgrep
cat > sleep.sh
#!/bin/bash
sleep 1000
pgrep -a "sleep" #根据命令搜索程序相关信息[cnetos7支持-a选项]
pgrep -at pts/2 #查看某个pts上运行的所有进程
#查看某个进程的进程编号
pidof bash
阅读(1764) | 评论(0) | 转发(0) |