linux 检测wan命令,Linux系统监控常用命令

释放双眼,带上耳机,听听看~!

1.free

free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

$ free

43cf8492ba7a4e722f7c4d46d15c6af0.png

0067303b1e3b5b6b5847f296d7b66048.png

(-buffers/cache) used 内存数:第一部分 Mem 行中的 used – buffers – cached

(+buffers/cache) free 内存数: 第一部分 Mem 行中的 free + buffers + cached

可见 -buffers/cache 反映的是被程序实实在在占据的内存,而 +buffers/cache 反映的是可以挪用的内存总数。

第三部分 Swap 表示硬盘上交换空间的使用情况。

以 MB 为单位显示内存的使用情况

$ free -m

显示汇总信息

$ free -t

2.ps

用于显示当前系统的进程状态。可以搭配 kill 指令随时中断、删除不必要的程序。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。(在第一周的进程与工作中有详细介绍。)

6f478fea14992ab15e54592534f3e174.png

a0ee1df2311533e86c71948849067c02.png

681d11ce864497cdf6b784122e7719f9.png

3.pstree

pstree 能将当前的执行程序以树状结构显示,清楚地表达程序间的产生关系。

$ pstree

29ba559f73f6cc6692540109c738f33b.png

显示当前所有进程的进程名和进程 id

5191591c05464bbb00aab05c59a73168.png

显示所有进程的详细信息,遇到相同的进程名可以压缩显示。

$ pstree -a

668af73a873172d012c72cab32ad6427.png

4.top

top 用于实时地显示 Linux 系统当前进程的运行情况,并按一定的顺序显示所有正在运行而且处于活动状态的进程,而且会实时更新显示结果。

$ top

deafb5f402f3c1875c846e20fce9592e.png

显示的详细信息可参看第一周的 Linux 进程与工作中的详细介绍,与其使用方法。另外也可以使用 man 来查看 top 的详细说明:

$ man top

5.htop

htop 是一个高级的交互式的实时 Linux 进程监控工具。 它和 top 命令十分相似,但是它具有更丰富的特性,例如:用户可以友好地管理进程,使用快捷键,通过横向和纵向的方式显示进程等等。 htop 是一个第三方工具,所以我们需要先安装它。

$ sudo apt-get update

$ sudo apt-get install htop

$ htop

1814628f944dce1a81a09cbc921a2289.png

左上角: CPU 负载(因为我们是 4 核 CPU,所以这里有 4 行),内存消耗,交换空间的使用情况。

右上角:

第一行:总进程数,线程数,正在运行的进程数。

第二行:和 top 命令中的 load average 一样,也是代表的 1,5,15 分钟内 CPU 的平均负载。

第三行:从系统启动起到当前的运行总时间。

下方的列表代表的是当前进程的运行情况。

底部显示的是一些快捷键,可以很方便对进程进行排序,搜索,杀掉等操作。同样可以使用 man htop 查看它的帮助文档。

6.netstat

netstat 命令可以显示 linux 中当前详细的网络状态信息,包括所有的 TCP 的连接状态。我们在第 3 周网络常用命令中有介绍。

显示路由表

$ netstat -r

显示所有网卡列表

$ netstat -i

显示所有的 Socket 信息与连接状态

netstat -a

f2d1ebbd105e276e31129d405a2e6efe.png

显示每个协议的统计信息

$ netstat -s

04fd224e242009cc6ab089a33e21a5bc.png

筛选监控中的服务器端口

$ netstat -lunat

5c88c0a28c1b4e785aff62b56c30d920.png

7.tcpdump

tcpdump 是使用最广泛的网络包分析程序之一,它用于捕捉本机指定条件下的 TCP/IP 包。(在第 3 周的网络常用命令中有介绍。)

如果没有安装,就使用如下命令先安装一下:

$ sudo apt-get install tcpdump

可以使用如下命令查看 tcpdump 的帮助:

$ tcpdump -h 或者 $ man tcpdump

$ sudo tcpdump

# 直接启动 tcpdump 将监视网络接口上所有流过的数据包。

捕捉到的包信息会及时输出至终端,在长期有流量的情况下输出结果会刷屏,按 ctrl + c 可结束数据包的捕捉。

tcpdump 的过滤器很强大,从指定 IP、端口、协议等等来过滤,例如:

监控指定网络接口的数据包:

#抓取 eth0 网络接口的包

$ sudo tcpdump -i eth0

设置只抓取 10 个数据包:

$ sudo tcpdump -c 10

c06e57bdc299fd9fe2e423aa30a9ad48.png

监控指定主机的数据包

先用 netstat 来看一下当前网络状态

$ netstat -lunat

利用前面输出中显示的那两个 ip 地址来实践(注意,你自己的输出结果和截图的可能不相同,根据你自己的输出结果来实验。)

我们这里就来捕获主机 192.168.42.6 与主机 192.168.42.2 之间的通信

$ sudo tcpdump host 192.168.42.6 and 192.168.42.2 |less

输出结果很多,可以使用 less 通过翻页键查看上下页的内容

88d0fb6c1ab2164bf23f676e395db83c.png

还可以捕获和实验楼之间的通信,我们用浏览器打开实验楼的地址 www.wanneng.com ,然后再运行 netstat -lunat

另外它还可以使用 or ,not(或者 ! )

#主机 192.168.42.6 或者主机 192.168.42.2 收到和发出的所有数据包

$ sudo tcpdump host 192.168.42.6 or 192.168.42.2

#主机 192.168.42.6 和除了主机 192.168.42.2 之外的所有主机通信的数据包

$ sudo tcpdump host 192.168.42.6 and not 192.168.42.2 或者 $ sudo tcpdump host 192.168.42.6 and ! 192.168.42.2

监控指定端口的数据包

$ sudo tcpdump port 5901

8.iftop

iftop 是一个实时流量监控工具。iftop 监控的是网络的使用情况,而 top 监控的是 CPU 的使用情况。iftop 监控一个选定的接口并且显示两台主机之间当前宽带的使用情况。

$ sudo apt-get install iftop

$ sudo iftop

c379d15ee609ae2e3dad2f5d3957183d.png

442b7c572dc9efe09ca8a72556cc1ba5.png

9.traceroute

traceroute 命令用于追踪数据包在网络上的传输时的全部路径,它通过发送小的数据包(默认是 40 字节)到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备 traceroute 要测 3 次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其 ip 地址。

先安装:

$ sudo apt-get install traceroute

例如追踪到 www.wanneng.com 的路由及速度

$ traceroute www.wanneng.com

记录按序列号从 1 开始,每个记录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,这是探测数据包向每个网关发送三个数据包后,网关响应后返回的时间。用这三个时间来表示到达这个结点的网络速度。

我们会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了 ICMP 的返回信息,所以我们得不到什么相关的数据包返回数据。

把跳数设置为 8 次

$ traceroute -m 8 www.wanneng.com

显示 IP 地址,不查主机名

$ traceroute -n www.wanneng.com

有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。如果某台 DNS 出现问题时,不能解析主机名、域名时,也会有延时长的现象。可以加 -n 参数来避免 DNS 解析,以 IP 格式输出数据。

探测包个数设为 4

$ traceroute -q 4 www.wanneng.com

10.mtr

mtr 是 Linux 中一个判断网络连通性的工具。一般 ping 命令可以用来判断丢包率,traceroute 命令可以用来追踪路由,而 mtr 命令结合了 ping,traceroute,nslookup 的相关特性可以用来判断网络的连通性。(在第 3 周的网络常用命令中有介绍。)

$ sudo apt-get install mtr

$ mtr -r www.wanneng.com

0f7613c53bfe1e16ac78b29c6aa81fc0.png

11.vmstat

vmstat 是 Virtual Memeory Statistics(虚拟内存统计)的缩写,命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动等的统计信息。

显示磁盘信息

2b1d38685c9e43bf2813fdd28ec70caa.png

8533d9b7a6c518646fc4580cc7d41d31.png

除了 -d 选项 ,它还有一些其他的选项:

c8c041e274ac91ffb58b9f77d7348e00.png

每 2 秒显示一次系统内存的统计信息

$ vmstat 2

f7b90b588710857de118700b64777b6e.png

adb0dc57afc35b155e50a75e53072bbb.png

c8d0777700df7c124d9a4bc5f1950437.png

82bcdcc04d7d7750054d7c3e40670dc8.png

$ vmstat 2 3

12. df

df 命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为 KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

$ df

9f4498dde7e6fc2dcef3a96cd01e7bdf.png

显示所有文件系统的磁盘使用情况

885fbfdd9d4f5d453f9038da0d9bc598.png

自动转换单位来显示,提高可读性

$ df -h

11b545e3915148f70589e7f3f8279837.png

它还有一些其他的选项:

4806af06bc64ed5b47acf3ad07d45b23.png

13.iotop

iotop 是一个用来监视磁盘 I/O 使用状况的 top 类工具,可监测到哪一个程序使用的磁盘 IO 的信息,在查找具体进程和大量使用磁盘读写进程的时候,这个工具就非常有用。 这个命令只有在 kernel v2.6.20 及以后的版本中才有,python 版本需要 python2.7 及以上版本。由于实验环境的权限限制并不能成功的展示该命令。此处仅做介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值