进程控制-pstop

Posted skyzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程控制-pstop相关的知识,希望对你有一定的参考价值。

进程控制 ps、top 查看系统内核:# uname -r -n -a # cat /etc/redhat-release # lsb_release -d 网卡IP地址:# ifconfig # ping -c n(次数) IP|hostname # setup|/etc/sysconfig/network-scripts/ifcfg-ethx # uptime # lastlog 进程查看: 进程是正在运行的程序,或者说是已启动的可执行程序的运行实例,进程具有自己的生命周期和各种不同的状态。 特点: 1、独立性,进程是系统中独立存在的实体,它可以拥有自己的独立资源,每一个进程都有自己的私有地址空间。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间。 2、动态性,进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。进程具有自己的生命周期和各种不同的状态。 3、并发性,多个进程可以在单个处理器上并发执行,多个进程之间不会互相影响。 线程:也被称作轻量级进程,线程是进程的执行单元,一个进程可以有多个线程。 线程不拥有资源,它与父进程的其它线程共享该进程所拥有的资源。线程的执行时抢占式的。 程序: 二进制文件,静态 /bin/date, /usr/sbin/httpd,/usr/sbin/sshd, /usr/local/nginx/sbin/ngix 进程: 是程序运行的过程, 动态,有生命周期及运行状态。 进程的生命周期: 父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。每个新进程分配一个唯一的进程 ID (PID),满足跟踪安全性之需。PID 和 父进程 ID (PPID)是子进程环境的元素,任何进程都可以创建子进程,所有进程都是第一个系统进程的后代: 子进程继承父进程的安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量,以及程序代码。随后,子进程可能exec自己的程序代码。通常,父进程在子进程运行期间处于睡眠(sleeping)状态。当子进程完成时发出(exit)信号请求,在退出时,子进程已经关闭或丢弃了其资源环境,剩余的部分称之为僵停(僵尸Zombie)。父进程在子进程退出时收到信号而被唤醒,清理剩余的结构,然后继续执行其自己的程序代码。 进程的状态: R 运行 S 可中断睡眠 Sleep D 不可中断睡眠 T 停止的进程 Z 僵尸进程 X 死掉的进程 【看不见】 静态查看进程——ps: ps:用来查看进程信息,功能强大,用法也比较复杂,最常用用的参数有:ps aux ,ps -ef ,ps -ely 选项: a:显示现行终端机下的所有进程,包括其他用户的进程; u:显示进程拥有者、状态、资源占用等的详细信息(注意有“-”和无“-”的区别)。 x:显示没有控制终端的进程。通常与 a 这个参数一起使用,可列出较完整信息。 -e:显示所有进程。 -f:完整输出显示进程之间的父子关系 -l:较长、较详细的将该 PID 的的信息列出; 注:ps -aux 不同于 ps aux ps aux: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 19356 1432 ? Ss 19:41 0:03 /sbin/init 说明: USER: 运行进程的用户 PID: 进程ID %CPU: CPU占用率 %MEM: 内存占用率 VSZ: 占用虚拟内存 RSS: 占用实际内存 驻留内存 TTY: 进程运行的终端 STAT: 进程状态 man ps (/STATE) R 运行 S 可中断睡眠 Sleep D 不可中断睡眠 T 停止的进程 Z 僵尸进程 X 死掉的进程 Ss s进程的领导者,父进程 S< <优先级较高的进程 SN N优先级较低的进程 R+ +表示是前台的进程组 Sl 以线程的方式运行 START: 进程的启动时间 TIME: 进程占用CPU的总时间 COMMAND: 进程文件,进程名 ps aux --sort -%cpu|head auxf:显示父子关系 axo:自定义显示字段 # ps axo user,pid,%cpu,%mem,rss,command|head pidof 进程名:查看指定进程的PID pstree:查看进程树 动态查看进程——top 在top的执行过程中,还可以使用以下的按键命令: h|? 帮助 M 按内存的使用排序 P 按CPU使用排序 N 以PID的大小排序 R 对排序进行反转 f 自定义显示字段 1 显示当前系统的cpu的逻辑数量 T:按该进程使用的CPU时间累积排序 k:给某个PID一个信号(signal),默认值是信号15 r:重新安排一个进程的优先级别 s:改变两次刷新之间的时间。默认是5秒 q:退出程序。 top命令常用的选项: -d:后面可以接秒数,指定每两次屏幕信息刷新之间的时间间隔; -p:指定某个进程来进行监控; -b -n:以批处理方式执行top命令。通常使用数据流重定向,将处理结果输出为文件; top查看 第一部分:系统整体统计信息 top - 14:15:04 up 47 min, 2 users, load average: 0.25, 0.18, 0.12 Tasks: 235 total, 1 running, 234 sleeping, 0 stopped, 0 zombie Cpu(s): 8.9%us, 1.0%sy, 0.0%ni, 90.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 7944064k total, 746164k used, 7197900k free, 35724k buffers Swap: 1048568k total, 0k used, 1048568k free, 261492k cached load average: 0.86, 0.56, 0.78 : 系统最近 1分钟,5分钟,15分钟的平均负载 计算方法:平均负载/逻辑cpu数量 查看物理CPU的个数 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 查看逻辑CPU的个数 #cat /proc/cpuinfo |grep "processor"|wc -l 查看CPU是几核 #cat /proc/cpuinfo |grep "cores"|uniq 一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术 nice,renice调整进程的优先级 -20 ~ 19 数字越低,优先级越高,系统会按照更多的cpu时间给该进程 更改现有进程的nice级别 1. 使用top更改nice级别 r 调整进程的优先级(Nice Level) (-20高) ---0--- (19低) 2. 使用shell更改nice级别 # renice -* PID eg:# renice -20 10089 进程控制: kill,killall,pkill,skill 给进程发送信号 # kill -l 列出所有支持的信号 编号 信号名 1) SIGHUP 重新加载配置 2) SIGINT 键盘中断^C 3) SIGQUIT 键盘退出 9) SIGKILL 强制终止 15) SIGTERM 终止(正常结束),缺省信号 18) SIGCONT 继续 19) SIGSTOP 停止 20)SIGTSTP 暂停^Z # fg 把最后放在后台运行的进程再次放到终端前台 # fg %1 将作业1调回到前台 # bg %2 把后台编号为2的进程恢复运行状态 # w 14:08:50 up 4:06, 5 users, load average: 0.25, 0.55, 0.70 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 :0 10:04 4:04m 12:48 12:48 /usr/bin/Xo root pts/0 :0.0 10:04 0.00s 38.47s 0.02s w root pts/2 :0.0 10:04 2:29m 0.07s 0.07s bash root pts/3 :0.0 10:04 3:41m 0.00s 0.00s bash root pts/4 172.16.1.180 13:55 11:41 3:07 46.62s rsync -alvR 说明: user:登录的用户名 tty:登录后系统分配的终端号 from:远程主机,即从哪里登录的 [email protected]:何时登录 idle:空闲了多长时间,表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置。 jcpu:和该终端(tty)连接的所有进程占用的cpu时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业 所占用的时间 pcpu:指当前进程(即what项中显示的进程)所占用的cpu时间。 what:当前正在运行进程的命令行。

以上是关于进程控制-pstop的主要内容,如果未能解决你的问题,请参考以下文章

十进程管理——进程查看pstop

Linux 查看进程资源--pstop命令

如何在Linux系统中,查看某个进程中线程占用cpu或内存等信息

什么是进程控制块?进程控制块中一般包含哪些内容?

进程 —— 进程控制块

进程控制