Linux进程检测和控制(ps等命令)

1.free查看系统内存的使用情况
基本语法:# free -m
-m :表示以mb为单位查看(1g = 1024mb,1mb = 1024kb)
-g :表示以gb为单位查看(1t = 1024gb,1gb = 1024mb)
-h :表示以较高的可读性显示内存大小(推荐使用)
CentOS7 加入了一个available (可用内存)

2.df查看磁盘的使用情况
基本语法:# df -h
-h :以较高的可读性显示磁盘空间的大小
在Linux操作系统中,所有的存储设备(U盘、光盘、磁盘、移动硬盘)都必须先挂载后使用。# mount /dev/sr0 /mnt/cdrom
在这里插入图片描述
3.静态查看系统的进程信息(ps命令)
☆ ps -ef => UNIX风格
注:top命令是动态查看进程信息 ps命令是静态查看
基本语法:# ps -ef
-e :列出全部(all)的进程
-f :表示full,显示全部的列(显示全字段)
在这里插入图片描述
ps -ef常用列:PID、PPID、C、CMD
扩展:假如不想看全部进程信息只想单独看httpd这个进程信息怎么办
可以结合管道和greo命令 :# ps -ef |grep httpd
在平常运维工作中还会被经常拿来判断某个服务是否已启动
注意:root 31382 31348 0 15:36 pts/1 00:00:00 grep --color=auto httpd
假如系统单独返回了这样的结果原因可能是:
① httpd服务根本没有启动
② 系统中根本没有httpd这个服务
在这里插入图片描述
☆ ps aux(扩展) => BSD风格
基本语法:# ps aux
ps aux常用列:PID、%CPU、%MEM、STAT、COMMAND
PID :该 process 的ID
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
COMMAND:该程序的实际指令

4.netstat/ss查看进程的网络连接信息
☆ netstat
基本语法:# netstat [选项] |grep 进程名称
-t:表示只列出tcp协议的连接;
-u:表示只列出udp协议的链接;
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示; => 比较重要,获取端口号
-l :表示过滤出"state(状态)"列中其值为LISTEN(监听)的连接;
-p:表示显示发起连接的进程pid和进程名称
注意:在实际工作中,我们通常使用netstat查看服务的端口号以及服务是否启动

☆ ss (netstat升级版)
基本语法:# ss -naltp |grep 服务/进程名称

5.kill命令
基本语法:# kill [信号] 进程的PID编号
在这里插入图片描述
常用为这2个信号 想了解更多的kill信号,可以通过kill -l命令来获取
kill命令通常要集合ps命令一起使用。先获取进程的PID编号,再中止进程。
案例:查询计划任务的进程信息,然后使用kill命令中止
:# ps -ef |grep crond
在这里插入图片描述
:# kill 6126
(如果有父进程与子进程关系的进程 直接杀掉父进程即可)

扩展:killall与pkill命令
kill命令:其是根据进程的PID编号杀掉进程
killall与pkill主要是根据进程的名称杀掉进程,不需要考虑进程的编号信息
基本语法:# killall/pkill 进程名称
一般系统中只有其中一种(我的是pkill)
安装killall命令,可以使用yum install psmisc -y

6.进程的优先级控制
Linux是一个多用户、多任务的操作系统,系统中通常运行着非常多的进程。哪些进程先运行,哪些进程后运行,就由进程优先级来控制。
在CPU、内存空闲状态下,哪个进程先运行哪个进程后运行对整个服务没有太大影响。但是当系统的CPU或内存处于繁忙状态,则优先级就会起作用。
查看进程优先级:使用top命令
在这里插入图片描述
在Linux系统中,PR值受到NI值的影响,其本身是不能改变的。只有NI值是可以改变的。NI 影响 PR,NI值范围-20 ~ 19 数字越低,优先级越高,系统会按照更多的cpu时间给该进程

如何去更改进程的优先级:有3种方法
☆ 基于top命令调整优先级
如果要改变某个进程的优先级,就要利用 “r” 交互命令(必须先进入top界面)。
第一步:使用top命令,进入top管理界面
第二步:按r键,然后输入要调整优先级的进程的PID编号,如31889
第三步:回车,输入要设置的value值(如-5)
检测是否更改成功:# top -bn 1 |grep crond

☆ 基于renice命令调整优先级(推荐使用)
基本语法:
renice [NI优先级设置的数字] 想调整的进程PID

☆ 基于nice命令调整优先级(复杂不推荐)
有一个前提:这个进程必须处于关闭状态。nice命令有两个作用:启动进程 + 调整优先级
第一步:关闭要调整优先级的进程(kill或killall或pkill)
第二步:设置进程的NICE值
例如:# nice -n -5 crond(进程名)
第三步:查看NICE值是否改变
:# top -bn 1 |grep crond

猜你喜欢

转载自blog.csdn.net/luozyzyzy/article/details/107568430