2023-2024-1 20232828《Linux内核原理与分析》第十二周作业

本文详细介绍了Linux系统监控的多个命令,包括top、vmstat、lsof、tcpdump、netstat、Htop、iotop、iostat、IPTraf、sysv-rc-conf、nethogs和iftop等,以及使用Python脚本进行系统监控的方法。通过学习这些工具,可以有效管理和监控Linux服务器的性能和安全状态。
摘要由CSDN通过智能技术生成

完成实验楼上Linux安全类实验中的一个,两人一组,题目不能重复。
在本周日晚12:00前发学习博客(标题 学号《Linux内核原理与分析》第十二周作业),重点是遇到的问题和解决方案。不按时交作业会扣分。



































































































































































linux系统监控常用命令(一)

(1)top命令

Top命令用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的情况。

$ top

在这里插入图片描述
在图中依次可以看到进程PID,进程用户,CPU使用率,内存使用率、交换内存使用大小等等信息。top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.

通过man top可以查看到详细的top命令使用方式。

$ man top

在这里插入图片描述

(2)虚拟内存统计 : vmstat

Linux 的 VmStat 命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动 等的统计信息。

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,

$ vmstat 2 1
$ vmstat 2 2

在这里插入图片描述
如果要求vmstat每2秒采集数据,一直采集,直到结束程序(Ctrl+c)。则省略采集次数:

$ vmstat 2

测试参数讲解:

r :表示运行队列,如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高
b :表示阻塞的进程数swpd :虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器
free :空闲的物理内存的大小
buff : 系统占用的缓存大小
cache :直接用来记忆我们打开的文件,给文件做缓冲
si :每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了
us :用户CPU时间
sy :系统CPU时间
so : 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。
sy : 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。
id : 空闲 CPU时间,一般来说,id + us + sy = 100
wt : 等待IO CPU时间。

(3)列出打开的文件:lsof

它常用于以列表的形式显示所有打开的文件和进程。打开的文件包括磁盘文件、网络套接字、管道、设备和进程。

使用这条命令的主要情形之一就是在无法挂载磁盘和显示正在使用或者打开某个文件的错误信息的时候。使用这条命令,你可以很容易地看到正在使用哪个文件。

$ lsof

在这里插入图片描述

(4)网络包分析器:tcpdump

Tcpdump是最广泛使用的网络包分析器或者包监控程序之一,它用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包。

它还有一个选项用于把捕捉到的包保存到文件里,以便以后进行分析。

-h:查看命令帮助
-i:网络接口
-c :需要输出包数量
$ sudo apt-get update
$ sudo apt-get install tcpdump 
$ tcpdump -h
$ sudo tcpdump -i eth0 -c 3

在这里插入图片描述
在这里插入图片描述

(5)网络状态统计:netstat

Netstat是一个用于监控进出网络的包和网络接口统计的命令行工具。它是一个非常有用的工具,系统管理员可以用来监控网络性能,定位并解决网络相关问题。

-h: 查看帮助
-r:
-i:查看网络接口
$ netstat -h
$ netstat -r
$ netstat -i

在这里插入图片描述
在这里插入图片描述

(6)进程监控:Htop

Htop 是一个非常高级的交互式的实时linux进程监控工具。 它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等。

Htop是一个第三方工具,它不包含在linux系统中,你需要使用管理工具去安装它。

$ sudo apt-get install htop
$ htop

在这里插入图片描述
在这里插入图片描述

(7)监控Linux磁盘I/O :iotop

iotop命令同样也非常类似于top命令和Htop程序,不过它具有监控并显示实时磁盘I/O和进程的统计功能。在查找具体进程和大量使用磁盘读写进程的时候,这个工具就非常有用。

这个命令只有在kernelv2.6.20及以后的版本中才有。python版本需要 python2.7及以上版本。由于系统原因,实验环境并不支持此命令。

(8)输入/输出统计:iostat

iostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘。

$ sudo apt-get install sysstat
$ iostat

在这里插入图片描述
各项含义&

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值