千家信息网

Linux如何使用命令查看进程状态信息

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要讲解了"Linux如何使用命令查看进程状态信息",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Linux如何使用命令查看进程状态信息"吧!1
千家信息网最后更新 2025年01月23日Linux如何使用命令查看进程状态信息

这篇文章主要讲解了"Linux如何使用命令查看进程状态信息",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Linux如何使用命令查看进程状态信息"吧!

1. 前言

本文主要介绍如何使用Linux命令来查看进程状态和信息。

进程标识符process identifier (PID)是Linux / Unix内核(Windows操作系统也不例外)用来标识进程的数字号码。通常来说,使用fork system call系统调用创建新进程。可以在Linux下监视每个PID(通常也叫任务)。在本教程中,我将解释怎么使用pidstat命令监视当前由Linux内核管理的各个任务。

2. `pidstat`命令介绍

pidstat命令还可用于监视所选任务的子进程,该命令具有以下功能:

  1. 查看指定进程状态信息

  2. 查看指定进程的磁盘状态信息,Apache/Nginx/Lighttpd /O信息和他们子进程的状态信息

  3. 查看线程关联的任务统计信息

  4. 查看每个活动任务的CPU统计信息报告。

  5. 查看特定进程的页面错误和内存利用率

  6. 确认特定进程的内存泄漏。

  7. 其它更多

3. 安装`pidstat`

要使用使用pidstat命令,必须先安装pidstat命令

[root@zcwyou ~]# yum -y install pidstat

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

  • base: mirrors.aliyun.com

  • epel: mirror01.idc.hinet.net

  • extras: mirrors.aliyun.com

  • updates: mirrors.aliyun.com

  • 没有可用软件包 pidstat。

  • 错误:无须任何处理

表明没有在仓库中找到这个包。

使用yum provides找到pidstat命令所依赖的包

[root@zcwyou ~]# yum provides pidstat

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

  • base: mirrors.aliyun.com

  • epel: mirror01.idc.hinet.net

  • extras: mirrors.aliyun.com

  • updates: mirrors.aliyun.com

  • epel/x86_64/filelists_db | 11 MB 00:00:01

  • extras/7/x86_64/filelists_db | 246 kB 00:00:00

  • updates/7/x86_64/filelists_db | 4.6 MB 00:00:00

  • sysstat-10.1.5-17.el7.x86_64 : Collection of performance monitoring tools for Linux

  • 源 :base

  • 匹配来源:

  • 文件名 :/usr/bin/pidstat

找到pidstat命令所对应的包名为sysstat

[root@zcwyou ~]# yum -y install sysstat

Running transaction

正在安装 : lm_sensors-libs-3.4.0-6.20160601gitf9185e5.el7.x86_64 1/2

正在安装 : sysstat-10.1.5-17.el7.x86_64 2/2

验证中 : lm_sensors-libs-3.4.0-6.20160601gitf9185e5.el7.x86_64 1/2

验证中 : sysstat-10.1.5-17.el7.x86_64 2/2

已安装:

sysstat.x86_64 0:10.1.5-17.el7

作为依赖被安装:

lm_sensors-libs.x86_64 0:3.4.0-6.20160601gitf9185e5.el7

完毕!

表明已经安装成功

4. `pidstat`命令语法

pidstat使用语法

[root@zcwyou ~]# pidstat options interval count

pidstat 选项 间隔 数字

试试执行以下命令:

[root@zcwyou ~]# pidstat

输出结果如下:

Linux 3.10.0-957.12.2.el7.x86_64 (CentOS7.linuxrumen.com) 2019年07月09日 x86_64(2 CPU)

08时13分30秒 UID PID %usr %system %guest %CPU CPU Command

08时13分30秒 0 1 0.04 0.68 0.00 0.72 1 systemd

08时13分30秒 0 2 0.00 0.00 0.00 0.00 1 kthreadd

08时13分30秒 0 3 0.00 0.04 0.00 0.04 0 ksoftirqd/0

08时13分30秒 0 7 0.00 0.01 0.00 0.01 0 migration/0

08时13分30秒 0 9 0.00 0.24 0.00 0.24 1 rcu_sched

08时13分30秒 0 13 0.00 0.00 0.00 0.00 1 migration/1

08时13分30秒 0 14 0.00 0.02 0.00 0.02 1 ksoftirqd/1

08时13分30秒 0 18 0.00 0.00 0.00 0.00 0 kdevtmpfs

08时13分30秒 0 30 0.00 0.01 0.00 0.01 0 kworker/0:1

08时13分30秒 0 37 0.00 0.00 0.00 0.00 1 khugepaged

08时13分30秒 0 47 0.00 0.06 0.00 0.06 1 kworker/u256:1

08时13分30秒 0 50 0.00 0.15 0.00 0.15 1 kworker/1:1

08时13分30秒 0 52 0.00 0.15 0.00 0.15 0 kworker/0:2


使用pidstat查看进程状态

5. 使用`pidstat`查看任意进程的I/O状态

语法:

内核版本2.6.20或以上版本才支持

pidstat -d -p 进程号

pidstat -d -p 进程号 2 10

pidstat -d -p 进程号 1 50

查看某进程的pid状态,6963为进程号

[root@zcwyou ~]# pidstat -d -p 6963

Linux 3.10.0-957.12.2.el7.x86_64 (CentOS7.linuxrumen.com) 2019年07月09日x86_64 (2 CPU)

08时21分26秒 UID PID kB_rd/s kB_wr/s kB_ccwr/s Command

08时21分26秒 0 6963 1.91 0.00 0.00 sshd

输出结果解释:

PID – 正在监视的任务的进程标识号。.

kB_rd/s – 每秒从磁盘读取任务所产生的字节数,单位为KByte。

kB_wr/s – 任务产生每秒写入磁盘的字节数,单位为KByte。

kB_ccwr/s – 写入磁盘的任务已取消的千字节数。当任务截断某些irty pagecache时,可能会发生这种情况。在这种情况下,将会发生一些已经考虑了另一个任务的IO。

Command – 进程执行的命令.

6. 找出前5个页面错误的进程统计信息

以下命令将以两秒的间隔向您显示系统中所有任务的子进程的五个页面错误统计报告:

[root@zcwyou ~]# pidstat -T CHILD -r 2 5

Linux 3.10.0-957.12.2.el7.x86_64 (CentOS7.linuxrumen.com) 2019年07月09日x86_64 (2 CPU)

08时26分48秒 UID PID minflt-nr majflt-nr Command

08时26分50秒 0 7575 228 0 pidstat

08时26分50秒 UID PID minflt-nr majflt-nr Command

08时26分52秒 0 7575 233 0 pidstat

找出前5个页面错误的进程统计信息

输出结果解释:

PID – 进程号.

minflt-nr – 任务及其子任务所产生的次要故障总数,并在该时间间隔内收集.

majflt-nr – 任务及其所有子项发生的主要故障总数,并在该时间间隔内收集.

7. 查看CPU利用率

执行以下命令:

[root@zcwyou ~]# pidstat -T CHILD -u 2 2

Linux 3.10.0-957.12.2.el7.x86_64 (CentOS7.linuxrumen.com) 2019年07月09日 x86_64(2 CPU)

08时30分28秒 UID PID usr-ms system-ms guest-ms Command

08时30分30秒 0 6931 10 0 0 tuned

08时30分30秒 0 7583 0 20 0 pidstat

08时30分30秒 UID PID usr-ms system-ms guest-ms Command

08时30分32秒 0 50 0 10 0 kworker/1:1

08时30分32秒 0 7583 10 10 0 pidstat

平均时间: UID PID usr-ms system-ms guest-ms Command

平均时间: 0 50 0 5 0 kworker/1:1

平均时间: 0 6931 5 0 0 tuned

平均时间: 0 7583 5 15 0 pidstat

输出结果解释:

报告任务及其所有子项的全局统计信息时,将显示以下值:

usr-ms:任务及其所有子项在用户级别(应用程序)执行时所花费的总毫秒数,具有或不具有优先级,并在时间间隔内收集。请注意,此字段不包括运行虚拟处理器所花费的时间。

system-ms:在系统级别(内核)执行时,任务及其所有子节点在此时间间隔内收集的总毫秒数

guest-ms:任务及其所有子节点在虚拟机(运行虚拟处理器)中花费的总毫秒数。

感谢各位的阅读,以上就是"Linux如何使用命令查看进程状态信息"的内容了,经过本文的学习后,相信大家对Linux如何使用命令查看进程状态信息这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

进程 命令 任务 信息 状态 时间 统计 错误 内核 磁盘 系统 结果 页面 监视 解释 输出 子项 字节 情况 报告 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 长沙民政软件开发专升本 抖音视频使用的数据库技术 深圳云顶互动网络技术 如何保持网络安全英语作文建议信 类似基因工程网络技术 软件开发高层次人才 网络安全产品目录 制定 网络安全工作原理解析 网络营销软件开发值得推荐 信息网络技术专业 太原拼接屏触摸软件开发公司 数据库lbn 局宣传贯彻网络安全法 csgo怎么一起玩社区服务器 数据库数据表插入数据 软件开发中心技术培训计划 铁堡数据库的特征 计算机网络技术介绍自己的视频 随着发展网络安全威胁 软件开发产品的混合英文翻译 软件开发测试内部报告 九台区品质网络技术口碑推荐 数据库关系代数聚集操作 m1pro 软件开发 网络安全信息会议 江西服务器回收公司云空间 魔兽世界人口大数据库 服务器运维如何保证服务器稳定 江苏前端软件开发大概要多少钱 数据库技术在金融专业的应用
0