0

0

如何查看Linux运行进程 ps命令输出字段解析

P粉602998670

P粉602998670

发布时间:2025-08-24 10:14:01

|

294人浏览过

|

来源于php中文网

原创

ps命令是linux中查看进程状态的核心工具,使用ps aux或ps -ef可列出系统所有进程;其中ps aux输出字段包括:1. user(进程所属用户)2. pid(进程id)3. %cpu(cpu使用率)4. %mem(内存使用率)5. vsz(虚拟内存大小)6. rss(常驻内存集)7. tty(控制终端)8. stat(进程状态,如r运行、s睡眠、d不可中断、z僵尸等)9. start(启动时间)10. time(累计cpu时间)11. command(启动命令);而ps -ef字段为:1. uid(用户id)2. pid(进程id)3. ppid(父进程id)4. c(cpu使用率)5. stime(启动时间)6. tty(终端)7. time(cpu时间)8. cmd(命令);常用技巧包括通过grep过滤指定用户或进程、使用--sort按%mem或%cpu排序前10进程、通过ps auxf或ps -ef --forest显示进程树结构,掌握这些字段和用法有助于快速诊断系统性能问题,并在脚本中高效使用ps工具完成自动化监控任务。

如何查看Linux运行进程 ps命令输出字段解析

在 Linux 系统中,

ps
命令是查看当前运行进程状态最常用的工具之一。它能显示系统中正在运行的进程信息,帮助我们诊断问题、监控资源使用情况。但
ps
输出的字段含义如果不了解,看起来会比较混乱。本文将介绍如何使用
ps
查看进程,并详细解析其常见输出字段的含义。


一、常用 ps 命令查看运行进程

最常用的查看进程方式是使用以下命令:

ps aux

或者使用 POSIX 标准格式:

ps -ef

这两个命令都能列出系统中几乎所有进程,但输出字段略有不同。

  • ps aux
    :BSD 风格语法,更直观,常用于日常使用。
  • ps -ef
    :System V 风格语法,字段对齐更规整,适合脚本处理。

我们以

ps aux
为例进行字段解析。


二、ps aux 输出字段详解

执行

ps aux
后,输出类似如下内容:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3 169400 13088 ?        Ss   10:00   0:02 /sbin/init
john       523  0.2  1.1 556780 45236 ?        Sl   10:02   0:15 /usr/bin/gnome-shell
www-data  1234  1.5  2.3 245678 95432 ?        S    10:10   1:23 /usr/sbin/apache2

下面是每一列的含义:

1. USER:进程所属用户

表示运行该进程的用户名。如果是系统进程,通常是

root
或服务专用用户(如
www-data
mysql
)。

2. PID:进程 ID

进程的唯一标识号(Process ID),每个进程都有一个唯一的 PID。它是操作系统管理进程的基础,可用于

kill
top
等操作。

3. %CPU:CPU 使用率

进程自启动以来占用的 CPU 时间百分比。注意:这个值是过去一段时间的平均值,不是实时值。高 %CPU 可能表示进程正在密集计算。

4. %MEM:内存使用率

进程占用的物理内存(RSS)占系统总内存的百分比。可用于判断哪个进程占用了较多内存。

5. VSZ:虚拟内存大小(Virtual Memory Size)

进程使用的虚拟内存总量,单位是 KiB。包括代码、数据、共享库以及被换出到磁盘的部分。

6. RSS:常驻内存集(Resident Set Size)

进程当前在物理内存中占用的实际内存大小,单位也是 KiB。不包括被交换出去的部分。RSS 越大,说明该进程吃内存越多。

⚠️ 注意:RSS 不等于实际物理独占内存,因为共享库等部分是多个进程共用的。

7. TTY:控制终端

进程关联的终端设备。如果是

?
表示没有控制终端(如后台服务、守护进程);如果是
pts/0
tty1
等,表示是从某个终端启动的。

8. STAT:进程状态

表示进程当前的状态,常用状态码如下:

LALALAND
LALALAND

AI驱动的时尚服装设计平台

下载
  • R
    :运行中(running)或可运行(等待 CPU)
  • S
    :睡眠中(interruptible sleep),可被信号唤醒
  • D
    :不可中断睡眠(通常在等待 I/O)
  • T
    :停止(stopped),如被
    kill -STOP
    或调试器暂停
  • Z
    :僵尸进程(zombie),已终止但父进程未回收
  • S
    :该进程是会话领导者(session leader)
  • +
    :前台进程组中的进程
  • l
    :多线程进程(有多个轻量级进程)

例如:

Sl
表示睡眠中且是多线程;
Ss
表示睡眠中且是会话领导者。

9. START:进程启动时间

进程的启动时间。如果是今天启动的,只显示时分(如

10:02
);如果是前几天,会显示月日(如
Jan05
)。

10. TIME:累计 CPU 时间

进程自启动以来,已使用的 CPU 时间总和(不是运行时长),格式为

分钟:秒
小时:分钟:秒
。例如
1:23
表示用了 1 分 23 秒的 CPU 时间。

11. COMMAND:启动命令

启动该进程的命令行,可能只显示命令名,也可能显示完整路径和参数。某些情况下会被截断。


三、ps -ef 输出字段对比

ps -ef
的输出格式略有不同:

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 10:00 ?        00:00:02 /sbin/init
john       523   500  0 10:02 ?        00:00:15 /usr/bin/gnome-shell

字段解释:

  • UID:用户 ID(与 USER 类似)
  • PID:进程 ID
  • PPID:父进程 ID(Parent PID),非常重要,用于查看进程树结构
  • C:CPU 使用率(旧格式,类似 %CPU)
  • STIME:启动时间(小时:分钟 或 月日)
  • TTY:控制终端
  • TIME:CPU 使用时间
  • CMD:启动命令

相比

ps aux
ps -ef
多了 PPID,更适合分析父子进程关系。


四、实用技巧

  • 查看某个用户的进程:

    ps aux | grep 用户名
  • 查看特定进程(如 nginx):

    ps aux | grep nginx
  • 按内存使用排序:

    ps aux --sort=-%mem | head -10
  • 按 CPU 使用排序:

    ps aux --sort=-%cpu | head -10
  • 显示进程树结构:

    ps auxf

    ps -ef --forest

基本上就这些。掌握

ps
的输出字段,能快速定位系统负载高、内存占用大等问题的来源。虽然
top
htop
更直观,但
ps
是脚本和自动化中不可或缺的工具,理解其字段含义非常实用。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

663

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

246

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

281

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

514

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

253

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

386

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

529

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

599

2023.08.14

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 799人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号