linux端口,进程管理,主机状态监控

图片无法加载请跳转CSDN:linux端口,进程管理,主机状态监控-CSDN博客

一、端口

1、什么是端口?

端口是指计算机和外部交互的出入口,可以分为物理端口和虚拟端口

  • 物理端口: USB、HDMI、DP、VGA、RJ45等
  • 虚拟端口: 操作系统和外部交互的出入口

IP只能确定计算机, 通过端口才能锁定要交互的程序

2、端口的划分

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用

  • 公认端口: 1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口, HTTPS服务的443端口非特殊需要,不要占用这个范围的端口

  • 注册端口: 1024~49151,通常可以随意使用,用于松散的绑定一些 程序/服务

  • 动态端口: 49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

2、查看端口占用

查看端口占用情况: 下载yum install net-tools

1
netstat -anp | grep 3306	# 通过管道过滤出3306
1
2
3
协议	  接收队列 发送队列 本地地址			  外部地址					状态		   PID/程序名称
tcp6 0 0 :::33060 :::* LISTEN 1568/mysqld
tcp6 0 0 :::3306 :::* LISTEN 1568/mysqld

二、进程

1、什么是进程

进程是指程序在操作系统内运行后被注册为系统内的一个进程,并拥有独立的进程ID(进程号)

2、查看进程信息

ps命令查看Linux系统中的进程信息

1
ps [-e -f]  # -e, 显示出全部的进程  -f, 以完全格式化的形式展示信息

固定用法就是: ps -ef列出全部进程的全部信息

在这里插入图片描述

从左到右分别是∶

  • UID︰进程所属的用户ID

  • PID︰进程的进程号ID

  • PPID∶进程的父ID(启动此进程的其它进程)

  • C: 此进程的CPU占用率(百分比)

  • STIME︰进程的启动时间

  • TTY∶启动此进程的终端序号,如显示?,表示非终端启动

  • TIME∶进程占用CPU的时间

  • CMD∶进程对应的名称或启动路径或启动命令

2、关闭进程

1
kill [-9] 进程ID		# -9强制关闭,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

三、主机状态监控

1、查看资源占用

可以通过top命令查看CPU、内存使用情况,类似windows的任务管理器

默认每5秒刷新一次,语法: 直接输入top即可,按q或ctrl+ c退出

1
top		# 下图一般关注红色即可,us:用户CPU使用率, sy:系统CPU使用率,free:空闲物理内存, used:使用物理内存

在这里插入图片描述

前五行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
top - 11:38:02 up 59 min,  1 user,  load average: 0.09, 0.06, 0.05
top:命令名称, 11:38:02:当前系统时间, up 59 min:启动了59分钟, 1 user:1个用户登录, load:1、5、15分钟平均负载

Tasks: 155 total, 2 running, 153 sleeping, 0 stopped, 0 zombie
Tasks:155个进程, 2 running:2个进程子在运行, 153 sleeping:174个进程睡眠, 0个停止进程, 0个僵尸进程

%Cpu(s): 0.1 us, 0.2 sy, 0.0 ni, 99.2 id, 0.4 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu(s):CPU使用率, us:用户CPU使用率, sy:系统CPU使用率, ni:高优先级进程占用CPU时间百分比, id:空闲CPU率, wa:IO等待CPU占用率, hi: CPU硬件中断率,si: CPU软件中断率,st:强制等待占用CPU率

KiB Mem : 8634968 total, 7184008 free, 653828 used, 797132 buff/cache
Kib Mem:物理内存, total:总量, free:空闲, used:使用,buff/cache: buff和cache占用

KiB Swap: 3801084 total, 3801084 free, 0 used. 7721080 avail Mem
KibSwap:虚拟内存(交换空间), total:总量, free:空闲, used:使用, buff/cache: buff和cache占用
1
2
3
4
5
6
7
8
9
10
11
12
13
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
1568 mysql 20 0 2316496 401948 16268 S 0.7 4.7 0:37.47 mysqld
1653 root 20 0 113948 2188 1332 S 0.7 0.0 0:11.34 bash
749 root 20 0 273004 4800 3660 S 0.3 0.1 0:07.84 vmtoolsd
1631 root 20 0 157936 6636 5080 S 0.3 0.1 0:07.09 sshd
22606 root 20 0 162116 2332 1596 R 0.3 0.0 0:00.02 top
1 root 20 0 43872 4272 2568 S 0.0 0.0 0:01.09 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.31 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 R 0.0 0.0 0:03.54 rcu_sched
  • PID: 进程id

  • USER:进程所属用户

  • PR:进程优先级,越小越高

  • NI:负值表示高优先级,正表示低优先级

  • VIRT:进程使用虚拟内存,单位KB

  • RES:进程使用物理内存,单位KB

  • SHR:进程使用共享内存,单位KB

  • S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,l空闲状态)

  • %CPU:进程占用CPU率

  • %MEM:进程占用内存率

  • TIME+:进程使用CPU时间总计,单位10毫秒

  • COMMAND:进程的命令或名称或文件路径

top的一些选项

选项 功能
-p 只显示某个进程的信息
-d 设置刷新时间,默认是5s
-c 显示产生进程的完整命令,默认是进程名
-n 指定刷新次数,比如top -n 3,刷新输出3次后退出
-b 以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如top -b -n 3 > /tmp /top.tmp
-i 不显示任何闲置(idle)或无用(zombie)的进程
-u 查找特定用户启动的进程

top交互式选项

当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制

按键 功能
按下h键 会显示帮助画面
按下c键 会显示产生进程的完整命令,等同于-c参数,再次按下c键,变为默认显示
按下f键 可以选择需要展示的项目
按下M键 根据驻留内存大小(RES)排序
按下P键 根据CPU使用百分比大小进行排序
按下T键 根据时间/累计时间进行排序
按下E键 切换顶部内存显示单位
按下e键 切换进程内存显示单位
按下l键 切换显示平均负载和启动时间信息
按下i键 不显示闲置或无用的进程,等同于-i参数,再次按下,变为默认显示
按下t键 切换显示CPU状态信息
按下m键 切换显示内存信息

2、磁盘信息监控

使用df命令,可以查看硬盘的使用情况

1
df [-h]		# -h,以更加人性化的单位显示
1
2
3
4
5
6
7
8
9
10
11
df -h
文件系统的名称或类型 文件系统的总大小 已用空间 可用空间 使用百分比 挂载点
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.2G 0 4.2G 0% /dev
tmpfs 4.2G 0 4.2G 0% /dev/shm
tmpfs 4.2G 12M 4.2G 1% /run
tmpfs 4.2G 0 4.2G 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 16G 20G 46% /
/dev/sda1 1014M 239M 776M 24% /boot
tmpfs 844M 0 844M 0% /run/user/0
/dev/sr0 4.6G 4.6G 0 100% /mnt/centos

可以使用iostat查看CPU、磁盘的相关信息

1
iostat [-x] [num1] [num2]	# -x显示更多信息, num1刷新间隔,num2刷新次数

tostat -x

名称 解释
rrqm/s: 每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge,提高lO利用率,避免重复调用);
wrqm/s: 每秒这个设备相关的写入请求有多少被Merge了。
rsec/s: 每秒读取的扇区数; sectors
wsec/: 每秒写入的扇区数。
rKB/s: 每秒发送到设备的读取请求数
wKB/s: 每秒发送到设备的写入请求数
avgrq-sz 平均请求扇区的大小
avgqu-sz 平均请求队列的长度。毫无疑问,队列长度越短越好。
await: 每一个IO请求的处理的平均时间(单位是微秒毫秒)。
svctm 表示平均每次设备l/O操作的服务时间(以毫秒为单位)
%util: 磁盘利用率

3、查看网络情况

可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)

1
sar -n DEV num1 num2	# 选项: -n,查看网络,DEV表示查看网络接口, num1:刷新间隔(不填就查看一次结束) ,  num2:查看次数(不填无限次数)
名称 解释
IFACE 本地网卡接口的名称
rxpck/s 每秒钟接受的数据包
txpck/s 每秒钟发送的数据包
rxKB/S 每秒钟接受的数据包大小,单位为KB
KBtxKB/S 每秒钟发送的数据包大小,单位为KB
rxcmp/s 每秒钟接受的压缩数据包
txcmp/s 每秒钟发送的压缩包
rxmcst/s 每秒钟接收的多播数据包

四、命令总结

1
2
# net-tools查看端口占用情况
netstat -anp | grep xxx
1
2
# 查看Linux系统中的进程信息
ps [-e -f] # -e, 显示出全部的进程 -f, 以完全格式化的形式展示信息
1
2
# 关闭进程
kill [-9] 进程ID # -9强制关闭,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
1
2
# 查看资源信息
top
1
2
# 查看硬盘的使用情况
df [-h] # -h,以更加人性化的单位显示
1
2
# 查看CPU、磁盘的相关信息
iostat [-x] [num1] [num2] # -x显示更多信息, num1刷新间隔,num2刷新次数
1
2
# 查看网络情况
sar -n DEV [num1] [num2] # 选项: -n,查看网络,DEV表示查看网络接口, num1:刷新间隔(不填就查看一次结束) , num2:查看次数(不填无限次数)

linux端口,进程管理,主机状态监控
https://leaf-domain.gitee.io/2024/08/04/linux01/
作者
叶域
发布于
2024年8月4日
许可协议