服务器状态快速查询

我们如果想要快速查询浪浪云服务器的状态。除了使用监看面板以为,还可以使用什么命令?这边给大家做一个常用总结,最后会把这些命令做成shell脚本供大家使用。

浪浪云最新活动:

浪浪云服务器免费无限续杯 | 浪浪云技术栈 (langlangy.com)

浪浪云文档转视频悬赏来啦!服务器免费拿,最低三个月起 | 浪浪云技术栈 (langlangy.com)

1.查询CPU使用率

root@ECS2835:~# top -bn1 | grep “Cpu(s)” | awk ‘{split($0,arr," ");print 100-arr[8]}’
1.5

2.查询内存命令(单位:G)

root@ECS2835:~# free -g
total used free shared buff/cache available
Mem: 62 0 61 0 1 61
Swap: 3 0 3

3.查询磁盘命令

root@ECS2835:~# df -h / | tail -n +2 | grep -v “Filesystem” | awk ‘{split($0,arr," ");print arr[2],arr[3],arr[5]}’
40G 17G 46%

4.查询网络IO命令ifstat

root@ECS2835:~# ifstat
ens18 ens19 docker0
KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out
1.34 5.46 0.04 0.00 0.00 0.00
2.76 17.62 0.08 0.00 0.00 0.00
1.42 3.12 0.04 0.00 0.00 0.00
1.60 6.19 0.04 0.00 0.00 0.00
3.68 19.06 0.04 0.00 0.00 0.00
1.28 3.13 0.08 0.00 0.00 0.00
3.77 21.55 0.08 0.00 0.00 0.00
1.67 3.20 0.00 0.00 0.00 0.00
1.28 2.53 0.04 0.00 0.00 0.00
1.60 5.87 0.04 0.00 0.00 0.00
2.96 18.31 0.04 0.00 0.00 0.00
0.87 1.33 0.04 0.00 0.00 0.00

注:如果没有ifstat命令,可以使用对应的包管理工具进行下载

ifstat <网络接口名称> Interface(接口):网络接口的名称。 RX Pkts/Rate(接收数据包数/速率):接收的数据包数量和速率。 TX Pkts/Rate(发送数据包数/速率):发送的数据包数量和速率。 RX Data/Rate(接收数据量/速率):接收的数据量(以字节为单位)和速率。 TX Data/Rate(发送数据量/速率):发送的数据量(以字节为单位)和速率。 RX Errs/Drop(接收错误/丢弃):接收过程中产生的错误和丢弃的数据包数量。 TX Errs/Drop(发送错误/丢弃):发送过程中产生的错误和丢弃的数据包数量。 RX Over/Rate(接收溢出/速率):接收缓冲区溢出次数和速率。 TX Coll/Rate(发送冲突/速率):发送时发生碰撞的次数和速率。 这些字段提供了关于网络接口的 详细统计信息,包括数据包数量、数据量、速率、错误情况、丢弃情况、溢出情况和碰撞情况等。通过观察这些字段的数值,可以了解网络接口的使用情况、性能状况和可能存在的问题。

5.查询文件服务器中数据库空间占用大小命令(以Mysql为例)

[root@ECS2835 ~]# df -h /home/ems/3rdparty/mysql/data
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 296G 153G 128G 55% /

6.查询每秒存储队列信息命令

root@ECS2835:~# vmstat -d|grep sda|awk ‘{print $11}’
31

root@ECS2835:~# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
loop0 11 0 28 0 0 0 0 0 0 0
loop1 0 0 0 0 0 0 0 0 0 0
loop2 0 0 0 0 0 0 0 0 0 0
loop3 0 0 0 0 0 0 0 0 0 0
loop4 0 0 0 0 0 0 0 0 0 0
loop5 0 0 0 0 0 0 0 0 0 0
loop6 0 0 0 0 0 0 0 0 0 0
loop7 0 0 0 0 0 0 0 0 0 0
sda 10580 2242 1457374 3817 31949 26982 4160842 32406 0 31

这里是每列的含义:

  • total: 总的读取或写入操作数。

  • merged: 合并的读取或写入操作数。当有多个相邻的读取或写入请求时,内核会将它们合并为一个操作,以提高效率。

  • sectors: 读取或写入的扇区数。一个扇区通常是 512 字节。

  • ms: 读取或写入操作的毫秒数。这是完成所有操作所花费的时间。

  • cur: 当前的 IO 操作数。这是正在进行的操作数。

  • sec: 这一秒内的 IO 操作数。

sda 是你的硬盘。你可以看到它已经进行了 10580 次读取操作和 31949 次写入操作。这些操作读取了 1457374 个扇区,并写入了 4160842 个扇区。读取操作花费了 3817 毫秒,写入操作花费了 32406 毫秒。当前没有正在进行的 IO 操作,而在最后一秒内,进行了 31 次 IO 操作。

7.查询IOPS信息命令

root@ECS2835:~# iostat -d|grep sda|awk ‘{print $3" "$4}’
9.91 28.28

root@ECS2835:~# iostat -d
Linux 5.15.0-105-generic (ECS2835) 04/21/24 x86_64 (16 CPU)

Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
loop0 0.00 0.00 0.00 0.00 14 0 0
sda 0.58 9.90 28.27 0.00 728743 2080713 0

这里是每列的含义:

  • Device: 磁盘设备的名称。

  • tps: 每秒的传输次数(transfers per second)。这是设备每秒的读取和写入操作数。

  • kB_read/s: 每秒读取的数据量,单位是 KB。

  • kB_wrtn/s: 每秒写入的数据量,单位是 KB。

  • kB_dscd/s: 每秒丢弃的数据量,单位是 KB。这通常是因为文件被删除或截断。

  • kB_read: 总共读取的数据量,单位是 KB。

  • kB_wrtn: 总共写入的数据量,单位是 KB。

  • kB_dscd: 总共丢弃的数据量,单位是 KB。

在你的输出中,sda 是你的硬盘。你可以看到它每秒进行了 0.58 次传输,每秒读取了 9.90 KB 的数据,每秒写入了 28.27 KB 的数据。总共读取了 728743 KB 的数据,写入了 2080713 KB 的数据。没有数据被丢弃。

8.查询文件系统中磁盘使用情况命令:df -BG

root@ECS2835:~# df -BG
Filesystem 1G-blocks Used Available Use% Mounted on
tmpfs 7G 1G 7G 1% /run
/dev/sda2 40G 17G 21G 46% /
tmpfs 32G 0G 32G 0% /dev/shm
tmpfs 1G 0G 1G 0% /run/lock
tmpfs 7G 1G 7G 1% /run/user/0

这里是每列的含义:

  • Filesystem: 文件系统的名称。

  • 1G-blocks: 文件系统的总大小,单位是 GB。

  • Used: 已经使用的空间,单位是 GB。

  • Available: 还可以使用的空间,单位是 GB。

  • Use%: 已经使用的空间的百分比。

  • Mounted on: 文件系统的挂载点。

在你的输出中,你可以看到你的 /dev/sda2 硬盘分区有 40 GB 的总空间,其中已经使用了 17 GB,还剩下 21 GB 可以使用,使用率为 46%。这个分区被挂载在 /,也就是根目录。

另外,tmpfs 是一个临时文件系统,它的内容存储在内存中,所以重启后会丢失。你有几个 tmpfs 文件系统,其中最大的一个是 /dev/shm,有 32 GB 的空间,但还没有使用。