首页 > 系统相关 >8、系统监控及进程管理

8、系统监控及进程管理

时间:2023-10-27 21:13:06浏览次数:33  
标签:SIGRTMAX 00 管理 系统监控 进程 root CPU SIGRTMIN

1.进程是什么

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

在LINUX系统中进程IDPID表示,范围从0-32768,其中**PID=1**的进程为init初始化进程。

2.进程的分类

进程可分为系统进程和用户进程。

1)系统进程

可以执行内存资源分配和进程切换等管理工作;而且,该进程的运行不受用户的干预,即使是root用户也不能干预系统进程的运行。

2)用户进程

通过执行用户程序、应用程序或内核之外的系统程序而产生的进程,此类进程可以在用户的控制下运行或关闭。

用户进程分类3类:

  • 交互进程:由一个shell终端启动的进程,在执行过程中,需要与用户进行交互操作,可以运行于前台,也可以运行在后台。

  • 批处理进程:该进程是一个进程集合,负责按顺序启动其他的进程。

  • 守护进程:守护进程是一直运行的一种进程,经常在linux系统启动时启动,在系统关闭时终止。例如httpd进程,一直处于运行状态,等待用户的访问。还有经常用的crond进程,这个进程类似与windows的计划任务,可以周期性的执行用户设定的某些任务

3.进程的查看

3.1使用ps命令查看进程(瞬间)  Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。

1)查看系统中所有进程,使用BSD操作系统格式

 

a:显示一个终端的所有进程,除了会话引线 u:显示进程的归属用户及内存的使用情况 x:显示没有控制终端的进程 -l:长格式显示。显示更加详细的信息 -e:显示所有进程,和-A作用一致

-f:详细显示每个进程信息,经常和e组合使用,如ps -ef

 

USER:该进程是由哪个用户产生的;PID:进程的ID号;%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;VSZ:该进程占用虚拟内存的大小,单位KB;RSS:该进程占用实际物理内存的大小,单位KB;TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。STAT:进程状态。常见的状态有:R:运行S:睡眠T:停止s:包含子进程+:位于后台START:该进程的启动时间;TIME:该进程占用CPU的运算时间,它不是系统时间;COMMAND:产生此进程的命令名。

使用pstree命令查看进程树

[root@xx ydxxcj]# pstree
systemd─┬─VGAuthService
├─auditd───{auditd}
├─chronyd
├─crond
├─dbus-daemon
├─httpd───6*[httpd]
├─login───bash
├─lvmetad
├─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───2*[{vmtoolsd}]

使用top命令查看系统的健康状态(实时)

top命令显示的是实时的系统信息,其常用选项如下:

-d 秒数:指定top命令每隔几秒更新,默认是3秒-b:使用批处理模式输出,一般和“-n”选项合用。-n 次数:指定top命令执行的次数,一般和“-b”选项合用。

top命令的交互式模式当中可以执行的命令:

?或h:显示交互模式的帮助P:以CPU使用率排序,默认就是此项M:以内存的使用率排序N:以PID排序q:退出top

 

1)top命令输出第一行的含义:

内容说明
20:02:15 系统当前时间
up 17 days, 8:45 系统运行时间,本机已运行17天8小时45分钟
1 user 当前登录了一个用户
load average: 0.00, 0.01, 0.05 系统在之前1分钟、5分钟、15分钟的平均负载。
这个值和CPU核数有关,大于CPU核数,说明系统已超出负载。

2)top命令输出第二行的含义:

Tasks: 188 total,   2 running, 186 sleeping,   0 stopped,   0 zombie

表示当前总进程为188个,其中2个在运行,186个进程处理睡眠状态。

3)top命令输出第三行的含义:

内容说明
%Cpu(s): 0.0 us 用户模式占的CPU百分比
7.1 sy 系统模式占的CPU百分比
0.0 ni 改变过优先级的用户进程占用的CPU百分比
92.9 id 空闲CPU的CPU百分比,目前表示很空闲
0.0 wa CPU等待硬盘写入时间,判断硬盘I/O
0.0 hi CPU处理硬中断占用的百分比
0.0 si CPU处理软中断占用的百分比
0.0 st 虚拟时间百分比
3.4使用lsof命令查看进程打开了哪些文件

lsof命令常用参数如下:

-p pid : 输出指定进程打开的文件;

-l : 输出中使用ID代替用户名;

-u userName : 输出指定用户打开的文件;

-c string : 输出COMMAND列中包含 string 的项;

-d fd : 输出包含指定描述符的项;

fileName : 输出打开文件fileName的所有项;

 

上面各字段的含义如下表:

字段名称功能含义
COMMAND 命令名称
PID 进程ID
TID 线程ID,如果为空代表列出的是进程
USER 用户ID号或登录名
FD 文件描述符
TYPE 与文件关联结点的类型
DEVICE 设备号
SIZE/OFF 文件大小/偏移量,以字节为单位
NODE 文件结点
NAME 文件挂载点和文件所在的系统
列出1号进程打开的文件

[root@xx ydxxcj]# lsof -p 1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,0 244 64 /
systemd 1 root rtd DIR 253,0 244 64 /
systemd 1 root txt REG 253,0 1632776 289612 /usr/lib/systemd/systemd
systemd 1 root mem REG 253,0 20064 65608 /usr/lib64/libuuid.so.1.3.0
systemd 1 root mem REG 253,0 265576 287800 /usr/lib64/libblkid.so.1.1.0
systemd 1 root mem REG 253,0 90248 1747 /usr/lib64/libz.so.1.2.7
systemd 1 root mem REG 253,0 157424 1755 /usr/lib64/liblzma.so.5.2.2

lsof常用组合

  • 显示进程打开的文件数
  •  

    • 统计sshd进程打开的文件数
    • [root@xx ydxxcj]# lsof -c sshd | wc -l
      232

  • 查看80端口22端口对应的用户进程
  • [root@xx ydxxcj]# lsof -i :22
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    sshd 1916 root 3u IPv4 52880 0t0 TCP *:ssh (LISTEN)
    sshd 1916 root 4u IPv6 52882 0t0 TCP *:ssh (LISTEN)
    sshd 1948 root 3u IPv4 54140 0t0 TCP xx:ssh->20.81.11.1:53022 (ESTABLISHED)
    sshd 2040 root 3u IPv4 55647 0t0 TCP xx:ssh->20.81.11.1:56734 (ESTABLISHED)
    [root@xx ydxxcj]#

使用pgrep命令查看进程PID信息

这个命令只输出进程PID号,如下:

[root@mysrs ~]# pgrep -f sshd
1183
5101
[root@mysrs ~]# 

可以用前面的ps命令进行验证一下:

[root@mysrs ~]# ps -ef | grep sshd
root      1183     1  0 1月13 ?       00:00:00 /usr/sbin/sshd -D
root      5101  1183  0 19:04 ?        00:00:00 sshd: root@pts/0

进程的终止

进程的终端通常用kill和killall命令。这里有一个信号类型的概念,可以用kill -l命令查看:

[root@mysrs ~]# kill -l
 1) SIGHUP  2) SIGINT  3) SIGQUIT  4) SIGILL  5) SIGTRAP
 6) SIGABRT  7) SIGBUS  8) SIGFPE  9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX

从上面可以看出一共有64个信号类型,其中 :9) SIGKILL2) SIGINT15) SIGTERM分别对应数字9、2、15

kill -9 进程PID:表示强制结束进程
kill -2 进程PID:表示结束进程,但是并不是强制性的
kill -15 进程PID:表示正常结束进程,默认类型就是15。

先用ps -ef | grep nginx或者pgrep -f nginx查看进程端口:

[root@mysrs ~]# ps -ef | grep nginx
root      6563     1  0 21:09 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     6564  6563  0 21:09 ?        00:00:00 nginx: worker process
nginx     6565  6563  0 21:09 ?        00:00:00 nginx: worker process
nginx     6566  6563  0 21:09 ?        00:00:00 nginx: worker process
nginx     6567  6563  0 21:09 ?        00:00:00 nginx: worker process
root      6587  5117  0 21:10 pts/0    00:00:00 grep --color=auto nginx
[root@mysrs ~]# pgrep -f nginx
6563
6564
6565
6566
6567
[root@mysrs ~]# 

然后再用kill命令终止:

[root@mysrs ~]# kill -9 6563

终止后验证检查是否生效:

[root@mysrs ~]# pgrep -f nginx
6564
6565
6566
6567
[root@mysrs ~]# 


killall命令

killall也是关闭进程的一个命令,与kill不同的是,killall后面跟的是进程的名字,而不是进程的PID,因而,killall可以终止一组进程。

killall [信号类型]  进程名称

如上面:

[root@mysrs ~]# killall -9 nginx
[root@mysrs ~]# ps -ef | grep nginx
root      6669  5117  0 21:16 pts/0    00:00:00 grep --color=auto nginx
[root@mysrs ~]# 

实验-查询系统状态
uname
uname -a
uname -r
cat /proc/cpuinfo
cat /proc/meminfo
hostname
last
lastlog
free
top
pstree
ps aux | grep vim

实验-top
cat /dev/zero > /dev/null
dd if=/dev/zero of=/dev/null bs=1M count=100000
top | grep id

实验-kill
kill -l
ping 192.168.100.1
ps aux | grep ping
kill -19 2992
ps aux | grep ping
kill -18 2992
ps aux | grep ping

实验-前台和后台
echo qin > qin
echo bing > bing
vim qin
ctrl+z
vim bing &
jobs
fg 1
kill -9 %2

实验-区别
ctrl+z
ctrl+d
ctrl+c

标签:SIGRTMAX,00,管理,系统监控,进程,root,CPU,SIGRTMIN
From: https://www.cnblogs.com/mmdln/p/17793143.html

相关文章

  • 基于ssm的家庭财务管理系统
    博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言,只有实实在在的写点程序。技术:ssm+mysql+jsp现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据......
  • 6、系统文件查找与文件管理
    综所周知,一个linux系统是由很多文件组成的,那么既然有那么多文件,那我们该如何管理这些文件呢?Linux中的所有数据都是以文件形式存在的,那么所有文件分别被归类到不同的文件系统中。而文件系统则是一种树型结构,通俗的理解为目录。在linux系统中,你所做的每一步操作及所执行的每个命令......
  • 运营商光纤资源管理:管理工具的力量
    随着通信信息化水平发展,光纤资源已成为现代通信网络的核心要素之一。然而,管理却面临诸多挑战,尤其对于电信运营商而言,面对庞大而复杂的光纤网络资源,怎样做到既不浪费现有资源,又能满足未来业务需求,实现效益、价值最大化,如何更加快速高效抢修、提高网络及服务质量成为关注重点。以往,光......
  • 4、目录管理
    创建目录:mkdir 直接使用命令:mkdirfilename 使用参数-p创建多级目录:mkdir-pfilename1/filename2 使用绝对路径进行创建:mkdir-p/root/dir1/dir2/dir3/dir4  删除目录:rmdir和rm rmdir这个命令:这个命令就是有一个缺点,如果是需要删除的目录不为空目......
  • 世微 DC-DC 降压恒压电源管理芯片 12V6A 线路应用图 AP8854
    这是一款12V6A电源驱动线路图  1,产品描述     AP8854一款宽电压范围降压型DC-D电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、过热保护、限流保护、短路保护等功能,非常适合宽电压输入降压使用。AP8854带使能控制,可以大大节省外围器件,更加适合......
  • MT管理器逆向改仿真银行app软件,提供教程和成品下载
    我这边的思路是通过MT管理器去逆向一个银行仿真APP,让里面的默认信息都自定义修改成我自己的,大佬可以不用看,但是一些新手有必要去学习一下。教程开始:1、需要的两个附件工具已经导入到了模拟器里面了2、用Mt管理器提取这个模拟器的安装包3、点查看,进入压缩包目录里4、然后点......
  • K8S 权限管理
    k8s权限管理目录k8s权限管理1、k8s用户1.1、k8s用户概念1.2、User&ServiceAccount的区别1.3、k8s用户创建1.3.1、创建用户私钥1.3.2、创建证书签名请求1.3.3、集群证书签署2、k8s角色2.1、Role&ClusterRole2.1.1、Role2.1.2、ClusterRole2.2、Rolebinding&ClusterRoleBindi......
  • mysql-日志管理
    一、mysql日志文件的作用1、能记录物理数据页面的修改的信息;2、能将数据从逻辑上恢复至事务之前的状态;3、能以二进制文件的形式记录了数据库中的操作;4、能记录错误的相关信息;5、能从主服务器中二进制文件取的事件等等。普通日志记录了服务器接收到的每一个查询或是命......
  • Revit 自定义事务进行自动管理事务DBTrans实现
    第一步:自定义事务对象自定义事务对象///<summary>///自定义事务///</summary>publicclassDBTrans:IDisposable{#region私有字段privatebooldisposedValue;privatebool_commit;///<summary>......
  • 运营商光纤资源管理:管理工具的力量
    随着通信信息化水平发展,光纤资源已成为现代通信网络的核心要素之一。然而,管理却面临诸多挑战,尤其对于电信运营商而言,面对庞大而复杂的光纤网络资源,怎样做到既不浪费现有资源,又能满足未来业务需求,实现效益、价值最大化,如何更加快速高效抢修、提高网络及服务质量成为关注重点。以往,光......