IT码农库

您当前所在位置:首页 > 脚本专栏 > linux shell

linux shell

Linux ps命令详解及Linux查观入程的操作方法

[db:来源] 2022-12-16linux shell5989
这篇文章主要介绍了Linux ps命令详解,Linux查观入程的操作方法,ps命令常用的方式有三种,本文给大家介绍的非常具体,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

作用:查观系统入程,比如正在运行的入程有哪些,什么时候开始运行的,哪个用户运行的,占用了多少资源。

参数:

  • -e     显示所有入程
  • -f     显示所有字段(UID,PPIP,C,STIME字段)
  • -a     显示一个终端的所有入程
  • -u     显示当前用户入程和内存使用情况
  • -x     显示没有控制终端的入程
  • –sort     按照列名排序

一、常用操作

ps命令常用的方式有三种:

  • ps -ef:查观所有入程
  • ps -aux:查观所有入程
  • ps -ef | grep tomcat:查观指定入程

1、查观所有入程(连带命令行)

ps -ef

字段解释:

  • UID:用户ID,即入程的拥有者
  • PID:入程ID
  • PPID:父入程ID
  • C:入程占用的CPU百分比
  • STIME:入程开始启动时间
  • TTY:登进者的终端机位置
  • TIME:入程使用的CPU(运算)时间
  • CMD:调用入程的命令

2、显示所有包含其他使用者的入程

ps -aux

字段解释:

  • USER:创建入程的用户
  • PID:入程ID
  • %CPU:入程占用CPU的百分比
  • %MEM:入程占用物理内存的百分比
  • VSZ:入程占用虚拟内存的大小(单位KB)
  • RSS:入程占用实际物理内存的大小(单位KB)
  • TTY:入程在哪个终端运行。
  • STAT:入程状态
  • START:入程开始启动的时间
  • TIME:入程使用的CPU(运算)时间
  • COMMAND:调用入程的命令

3、查观指定入程(grep过滤)

ps -ef 通常会配合 grep 来过滤指定的入程,比如

搜索 mysql 的入程:ps -ef | grep mysql

搜索 tomcat 的入程:ps -ef | grep tomcat

4、查观CPU/内存占用率最高的入程

1)查观入程的时候,让入程按照CPU使用率排序,然后铺示前10行,就能清楚地观到哪些入程占用的资源比较多。

PS1:head -11 是因为标题也算一行
PS2:+-号可以调整排序,-pcpu 表示降序,+pcpu 表示升序

ps -aux --sort=-pcpu | head -11

2)同理,把 -pcpu 换成 -pmem,就能查观内存使用最多的10个入程。

ps -aux --sort=-pmem | head -11

3)假如不限制行数,也可以使用 sort 按照指定的列排序

降序:

ps -aux | sort -nk 4 -r

升序:

ps -aux | sort -nk 4

5、查观指定用户的入程

查观某个用户开启了哪些入程,可以使用 -u 参数指定用户名,比如,查观root用户的入程有哪些:

ps -u root -ef

6、分页查观入程

除了 grep 外,还可以配合 more 分页查观入程:ps -ef | more

翻页的操作同 more 命令,q键退出,空格键翻页

二、拓铺

1、TTY字段(终端类型)

TTY字段表示运行入程的终端是哪个,这里的终端类型有两种:tty和pts。

  • tty:表示物理终端,其中tty1~6是本地字符界面终端,tty7是本地图形终端
  • pts:表示虚拟终端,通常指遥程连接的终端,范围是pts/0~255,比如第一个遥程连接的终端是pts/0,第二个遥程连接的终端是pts/1,依次类推。

2、STAT字段(入程状态)

STAT字段表示入程的状态,常见的状态有以下几种:

  • D:睡眠状态(不可被唤醒),常用于I/O情况。
  • R:入程正在运行
  • S:睡眠状态(可被唤醒)
  • T:停止状态
  • W:内存交互状态
  • Z:僵尸入程(不存在但暂时无法消除)
  • <:高优先级
  • N:低优先级
  • L:被锁进内存
  • s:包含子入程
  • l:多线程
  • +:位于后台

3、僵尸入程

入程由于非正常停止或程序编写错误,导致子入程比父入程先结束,而父入程又没有正常归收子入程,使子入程一直在内存中,导致资源浪费。这种情况就是僵尸入程。

PS:正常情况下应该是父入程先结束,然后子入程由init接管,init 结束子入程并归收对应的资源。

到此这篇关于Linux ps命令详解,Linux查观入程的文章就介绍到这了,更多相关Linux ps命令内容请搜索以前的文章或继承浏览下面的相关文章希望大家以后多多支持!

大图广告(830*140)