首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《Linux 进程管理与硬件信息查看:ps、pstree 及系统监控指令详解》

《Linux 进程管理与硬件信息查看:ps、pstree 及系统监控指令详解》

作者头像
XPcode7
发布2025-10-23 14:56:14
发布2025-10-23 14:56:14
500
代码可运行
举报
运行总次数:0
代码可运行

《Linux 进程管理与硬件信息查看:ps、pstree 及系统监控指令详解》

导读:对于 Linux 系统使用者来说,进程管理和硬件信息查看是日常操作中不可或缺的技能。你是否知道如何高效地查看 Linux 系统中的进程,并准确判断其状态?又该如何正确关闭进程以避免资源浪费和系统问题?本文将深入探讨 2.17 进程管理的相关知识,从 ps、pstree 等指令的使用,到 kill、pkill 等关闭进程的方法,还会详细介绍查看 CPU、内存、硬盘等硬件信息的实用指令。无论你是 Linux 新手还是有一定经验的用户,都能从本文中获取到有价值的内容,提升你的系统管理能力。

2.17 进程管理

代码语言:javascript
代码运行次数:0
运行
复制
## 操作系统都有进程的概念,windows在任务管理器中查看,linux用ps指令来查看。
2.17.1 查看和关闭进程
代码语言:javascript
代码运行次数:0
运行
复制
#查看进程
	ps
	参数1:ps -ef
    
# pid:全称process id,是进程编号,每次启动某个程序,它的编号可能都不一样,这个是程序启动之后系统随机分配的。

# uid:全称user id,是进程所属用户,也就是哪个用户启动的,我们可以切换个用户执行一下sleep 60,就可以看到效果

# CMD中看到[]括起来的,表示这些都是系统级别的进程,比如一些硬件驱动程序之类的,这些都不要动。不带[]的都是用户级别的。

# ppid:全称parent process id,父进程,记录的是某个进程是由哪个进程创建出来的。可以通过pstree工具来查看从属关系。

# C:这个不用管。

# STIME:全称start time,进程的启动时间。

# TTY: 用来显示哪些是本地启动的,哪些是远程终端连接上来启动的。通过w指令可以看到哪些终端登录着主机。只要登录成功一个终端,那就多一个终端。

# TIME:这个没啥用

# CMD:这个进程执行了什么指令

## 安装一个pstree
# 注意:我们安装的软件的名字和使用的时候的指令名称不一定是一样的,比如lrzsz,使用的时候是rz\sz上传下载。
# 想查看我们想要使用的某个指令,是哪个软件包提供的,可以输入yum provides 指令名称,比如yum provides pstree
    [root@localhost ~]# yum provides pstree
    [root@localhost ~]# yum install psmisc -y
    [root@localhost ~]# pstree

# 可以看到,系统的第一个进程是systemd,由他创建起来了好多其他的进程,可以看到从属关系:
	systemd─┬─NetworkManager─┬─dhclient
           │               └─2*[{NetworkManager}]
       ├─VGAuthService
       ├─abrt-watch-log
       ├─abrtd
       ├─agetty
       ├─auditd───{auditd}
       ├─chronyd
       ├─crond
       ├─dbus-daemon───{dbus-daemon}
       ├─master─┬─pickup
       │       └─qmgr
       ├─polkitd───6*[{polkitd}]
       ├─rsyslogd───2*[{rsyslogd}]
       ├─sshd─┬─sshd───bash───pstree
       │     └─sshd───bash
       ├─systemd-journal
       ├─systemd-logind
       ├─systemd-udevd
       ├─tuned───4*[{tuned}]
       └─vmtoolsd───{vmtoolsd}
    
#关闭进程
    kill pid号
    例子1: kill  7851  #使用进程id号,来终止进程
           kill -9 pid号  #慎用!!!
#批量关闭进程,pkill全称program kill
    pkill CMD命令名称
    例子1: pkill sleep  #使用进程的命令名称,来终止进程,会中止所有CMD执行着sleep的进程的。
           pkill -9 sleep
       
# kill -9,这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。

# 如果想把某个远程连接踢下线,可以杀掉显示pts的远程连接进程的父进程,如下图
image-20230710123617860
image-20230710123617860
2.17.2 查看计算机硬件信息
2-1 查看cpu
代码语言:javascript
代码运行次数:0
运行
复制
#查看cpu
	lscpu
2-2 查看内存命令
代码语言:javascript
代码运行次数:0
运行
复制
#查看内存命令
	free -h
2-3 查看硬盘命令
代码语言:javascript
代码运行次数:0
运行
复制
#查看硬盘命令
	df -h  #h表示人类可读
    
    [root@localhost ~]# df -h
    文件系统       容量 已用 可用 已用% 挂载点
    devtmpfs       980M     0 980M    0% /dev
    tmpfs           991M     0 991M    0% /dev/shm
    tmpfs           991M  9.5M 981M    1% /run
    tmpfs           991M     0 991M    0% /sys/fs/cgroup
    /dev/sda1       100G  2.2G   98G    3% /
    tmpfs           199M     0 199M    0% /run/user/0
2-4 查看计算机的cpu,内存,进程等信息
代码语言:javascript
代码运行次数:0
运行
复制
# 含有tmp的表示是内存给硬盘的空间,默认会给1半内存空间,把内存当作硬盘使用,这个我们不用管。
# 查看计算机的cpu,内存,进程等信息(和windows的任务管理器很像)
top
    top - 08:34:27 up 20 min,  1 user, load average: 0.00, 0.01, 0.05
   Tasks:  89 total,   2 running,  87 sleeping,   0 stopped,   0 zombie
   %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 
    
st
   KiB Mem :  2027872 total,  1779000 free,   135668 used,   113204 buff/cache
   KiB Swap:        0 total,        0 free,        0 used.  1755332 avail Mem 
    
 # 下面是进程信息,值得看的是每个进程占用的%CPU %MEM,CPU使用率和内存使用率
     PID USER     PR NI   VIRT   RES   SHR S %CPU %MEM     TIME+ COMMAND   
           
     1 root      20   0  128556   7132   4144 S  0.0  0.4   0:01.27 systemd     
        
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd     
       
     4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
# 08:34:27 up 20 min:表示08:34:27是系统当前时间,开机了20分钟,如果看到3:20,表示开了3小时20分钟,看到10 days表示10天了,linux很稳定耐用,开机好多年都稳定运行着,不会卡顿。

# 1 user :表示当前只有一个用户在使用
# load average: 0.00, 0.01, 0.05:平均负荷,指的是CPU的负载高不高,CPU负载高,那么平均负荷就比较大,如果这几个值很大的时候,服务器会变得很卡。如果发现服务器卡了,就是异常情况,就可以看看这个数据。这三个值表示:1分钟、5分钟、15分钟的负载情况,load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

# Tasks: 89 total, 2 running, 87 sleeping, 0 stopped,   0 zombie:表示进程数量,总共89个,2个正在运行,87个在睡眠状态,当我们的CPU是1核的时候,是在所有进程之间来回切换执行,所以只有一个或者切换速度很快的时候显示2个。 0 stopped表示停止的进程,但是这里一般都是0,以为进程结束之后会自动从内存中释放。0 zombie表示僵尸进程数量,僵尸进程是杀不死的,就是由于各种原因,系统无法自动释放的进程,僵尸进程也消耗系统资源,一般kill掉它的父进程可以杀掉僵尸进程,或者kill -来杀掉。但是kill -9要慎用!!!它也容易产生僵尸进程,kill会将进程运行中的信息保存下来,进程不会出问题,kill -9不会保存,强制结束进程的运行,容易出现僵尸进程。

# 按数字1,可以查看cpu数量

# %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 
    ## st,关于CPU我们其他参数不用看,就看这个100.0 id,id是idle的简写,表示100%空闲,因为我们现在
    ## CPU使用率很低,所以显示了100%空闲。我们只关注这个参数即可,看一下CPU忙不忙就行。

# KiB Mem : 2027872 total, 1779000 free,   135668 used,   113204 buff/cache,是内存(英文:memroy)的描述信息,total表示总内存量,free表示可用剩余量,userd表示已经使用的量,buff/cache表示用作缓存,是和磁盘进行读写时的缓存区域,这个参数不用管。

# KiB Swap:       0 total,       0 free,       0 used. 1755332 avail Mem :
## Swap表示虚拟内存,这是硬盘分配给内存的一部分空间,为了当内存不足时,临时将硬盘当作内存使用。这个数值是可以自行调整的。一般自动就分配好了,所以我们不用管,实在是内存不够用的时候再加大这个虚拟内存。我现在看的是虚拟机上的虚拟内存,虚拟机不设置虚拟内存,所以显示为0。

swap虚拟内存在windows也内看到:

image-20230710125835552
image-20230710125835552
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 《Linux 进程管理与硬件信息查看:ps、pstree 及系统监控指令详解》
    • 2.17 进程管理
      • 2.17.1 查看和关闭进程
      • 2.17.2 查看计算机硬件信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档