作者:小小号号-- | 来源:互联网 | 2023-05-19 06:52
本文主要分享【Linux7系统中如何“更好”监控和管理Linux系统上运行的进程】,技术文章【Centos7常用基本命令使用(进程管理类、网络状态类、系统定时类)】为【Bulut0907】投稿,如果
本文主要分享【Linux 7系统中如何“更好”监控和管理Linux系统上运行的进程】,技术文章【Centos7常用基本命令使用(进程管理类、网络状态类、系统定时类)】为【Bulut0907】投稿,如果你遇到Linux相关问题,本文相关知识或能到你。
Linux 7系统中如何“更好”监控和管理Linux系统上运行的进程
目录 1. 进程管理类1.1 ps1.2 kill1.3 pstree1.4 top 2. 网络状态类2.1 netstat 3. 系统定时类3.1 crontab
1. 进程管理类 1.1 ps
process status,默认只显示和当前用户、当前终端相关联的进程
语法:ps 选项
选项功能a列出带有终端(非后台)的所有用户的进程x列出当前用户的所有进程,再列出没有终端(非后台)的进程u面向用户友好的显示风格-e列出所有进程-u 用户名列出某个用户关联的所有进程-f显示完整格式的进程列表
示例:
查看系统中所有进程(BSD风格)
[root@bigdata001 ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 199352 3220 ? Ss 4月30 30:15 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 4月30 0:03 [kthreadd]
......省略部分......
[root@bigdata001 ~]#
各字段解析如下:
USER:该进程是由哪个用户产生的PID:进程的ID%CPU:该进程占用CPU资源的百分比%MEM:该进程占用物理内存的百分比VSZ:该进程占用虚拟内存的大小,单位KB。一些长时间未使用的会放到虚拟内存RSS:该进程占用实际物理内存的大小,单位KBTTY:该进程是在哪个终端中运行的。对于CentOS来说,tty1是图形化终端, tty2-tty6 是本地的字符界面终端。pts/0-255代表虚拟终端STAT:进程状态。常见的状态有:R-运行状态、S-睡眠状态、T-暂停状态、 Z-僵尸状态(未清理干净的)、s-包含子进程、l-多线程、±前台显示、-:进程优先级很高、N-进程优先级很高START:该进程的启动时间TIME:该进程占用CPU的运算时间,注意不是系统时间COMMAND:产生此进程的命令。kthreadd负责内核所有线程的管理 查看父子进程之间的关系(Unix标准风格)
[root@bigdata001 ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 18911 18908 0 22:13 pts/0 00:00:00 -bash
[root@bigdata001 ~]#
各字段解析如下:
UID:用户IDPID:进程IDPPID:父进程IDC:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算, 执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高STIME:进程启动的时间TTY:完整的终端名称TIME:CPU时间CMD:启动进程所用的命令和参数 1.2 kill
通过进程号杀死进程:kill -9 PID
通过指定进程名称杀死多个进程,会将包含指定进程名称的所有进程都杀死:killall 进程名称
可以通过kill -l查看所有支持的kill -数字参数 PID
1.3 pstree
查看进程树
安装依赖包
[root@bigdata001 ~]# yum install -y psmisc
使用
[root@bigdata001 ~]# pstree -p -u
systemd(1)─┬─NetworkManager(678)─┬─{NetworkManager}(691)
│ └─{NetworkManager}(693)
├─agetty(919)
├─auditd(638)───{auditd}(639)
├─chronyd(671,chrony)
├─crond(687)
├─dbus-daemon(666,dbus)───{dbus-daemon}(673)
├─lvmetad(501)
├─master(1082)─┬─pickup(1089,postfix)
│ └─qmgr(1090,postfix)
├─polkitd(662,polkitd)─┬─{polkitd}(675)
│ ├─{polkitd}(681)
│ ├─{polkitd}(684)
│ ├─{polkitd}(685)
│ ├─{polkitd}(686)
│ └─{polkitd}(689)
├─rsyslogd(911)─┬─{rsyslogd}(921)
│ └─{rsyslogd}(923)
├─sshd(908)───sshd(971)───bash(1135)───pstree(1198)
├─systemd-hostnam(695)
├─systemd-journal(480)
├─systemd-logind(679)
├─systemd-udevd(511)
└─tuned(907)─┬─{tuned}(1189)
├─{tuned}(1190)
├─{tuned}(1192)
└─{tuned}(1194)
[root@bigdata001 ~]#
-p:显示进程的PID-u:显示进程所属的用户,如果用户和父进程一样,则不会显示 1.4 top
执行top命令,会持续(默认3秒,可通过-d参数指定)的监控系统的进程状态
top - 21:51:11 up 79 days, 4:15, 2 users, load average: 0.42, 0.31, 0.31
Tasks: 418 total, 2 running, 416 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.1 us, 2.2 sy, 0.0 ni, 95.6 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 16266480 total, 911960 free, 7466176 used, 7888344 buff/cache
KiB Swap: 8257532 total, 5658620 free, 2598912 used. 7422656 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5256 root 20 0 9.9g 863088 608848 S 13.2 5.3 5912:53 clickhouse-serv
......省略部分......
各部分含义如下:
第一行:当前时间 系统启动了多久 当前多少个用户在使用 过去1分钟、5分钟、10分钟的平均负载(小于0.7负载小,大于1负载大)第二行:当前正在运行的进程数 运行进程数 睡眠进程数 停止进程数 僵尸进程数第三行:用户进程(没有更改用户优先级的用户进程)占用CPU时间 系统进程占用CPU时间 nice命令(给进程指定优先级,值越低优先级越高)设定用户优先级的用户进程占用CPU时间 CPU空闲率 等待I/O操作的时间占比 硬件中断请求的时间占比 软件中断请求的时间占比 被虚拟机占用的时间占比第四行:内存占用情况第五行:swap内存占用情况第六行字段说明:PID 用户 任务调度的优先级 用户指定的nice值 虚拟内存占用大小 物理内存占用大小 共享内存占用大小 进程状态 CPU运行时间占比 内存占比 运行占CPU总时间 生成当前进程的命令
默认按CPU运行时间占比(P)降序排列,可以按M按内存占比降序排序,按N按PID降序排列。按u再输入用户,只查看指定用户的进程。按k再输入进程PID,再输入9,杀死进程
按上下键进行滚动,按Page Up和Page Down进行翻译,按q退出
选项:
-i:使top不显示任何闲置或僵尸进程-p:指定进程PID进行监控 2. 网络状态类 2.1 netstat
netstat 选项
-a:显示所有正在监听(listen)和未监听的套接字(socket)-n:拒绝显示别名,能显示数字的全部转化成数字-l:仅列出在监听的服务状态-p:表示显示哪个进程在调用
示例:
查看该进程网络信息:netstat -anp | grep 进程号
查看网络端口号占用情况:netstat -nlp | grep 端口号
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1110/sshd
......省略部分......
各字段含义如下:
Proto:网络协议Recv-Q:已经接收但还未拷贝的字节数Send-Q:已经发送,但远程主机还未确认收到的字节数Local Address:本地地址。0.0.0.0表示服务器所有地址。端口范围为0~65535Foreign Address:远程地址State:状态 3. 系统定时类 3.1 crontab
crontab命令由crond服务提供
crontab -r:删除当前用户所有的crontab任务
crontab编辑定时语法:* * * * * 执行的任务
注意:几号和星期几最好不要同时出现,会混乱
项目含义范围第一个“*”一小时当中的第几分钟0-59第二个“*”一天当中的第几小时0-23第三个“*”一个月当中的第几天1-31第四个“*”一年当中的第几月1-12第五个“*”一周当中的星期几0-7(0和7都代表星期日)
特殊符号:
特殊符号含义*代表任何时间,代表不连续的时间-代表连续的时间范围*/n代表每隔多久执行一次
本文《Centos7常用基本命令使用(进程管理类、网络状态类、系统定时类)》版权归Bulut0907所有,引用Centos7常用基本命令使用(进程管理类、网络状态类、系统定时类)需遵循CC 4.0 BY-SA版权协议。