服务器常用命令介绍和负载监控的工具插件推荐

2023-12-14 04:54:35

LinuxServerTooltt.png

先赞后看,养成习惯!!!?? ?? ??
码字不易,如果喜欢可以关注我哦!
如果本篇文章对你有所启发,欢迎访问我的个人博客

命令

服务器相关

5个常用命令

top

Top命令不仅显示了当前内核服务的任务,还显示了许多关于主机状态的统计数据,默认情况下,它每隔5秒自动更新一次显示的数据(这个时间间隔是可以配置的),通过top命令,我们可以得知几个结果,如:当前正常运行时间,系统负载,进程数量和内存使用率,此外,这个命令也显示了那些使用最多CPU时间的进程(包括每个进程的各种信息,如运行用户,执行的命令等)。

vmstat

Vmstat命令提供当前CPU、IO、进程和内存使用率的快照,它和top命令类似,自动更新数据,如:

$ vmstat 10
iostat

Iostat命令(在Ubuntu,Red Hat/Fedora上包含在sysstat软件包中)提供三个报告:CPU利用率、设备利用率和网络文件系统利用率,不加任何参数运行时,iostat将显示这三个报告,使用-c,-d和-h参数可以分别独立显示这三个报告。

free

Free命令显示主内存和交换空间的内存统计数据,指定-t参数可以显示总内存数量,指定-b参数可以按字节为单位进行显示,使用-m则以兆为单位显示,默认情况下是以千字节为单位的。

Free命令也可以使用-s参数加一个延迟时间(单位:秒)连续运行,如:

$ free -s 5
sar

Sar命令收集,查看和记录性能数据,这个命令比前面几个命令历史更悠久,它可以收集和显示较长周期的数据。

其他
  1. ps:显示正在运行的进程。
  2. df:显示磁盘空间使用情况。
  3. du:显示指定目录或文件的磁盘空间使用情况。
  4. ping:测试与目标主机的网络连接状态。
  5. nslookup:查询 DNS 记录。
  6. dig:查询 DNS 信息。
  7. curl:在终端中以命令行方式访问网站。
  8. traceroute:检测从源到目的地途中经过的路由器数量。
  9. netstat:显示本机所有的网络连接状况。
  10. ifconfig:查询和设置网络设备。
  11. route:查询和设置路由表。
  12. tcpdump:抓取网络封包。
  13. iptables:网络包过滤与防火墙。
  14. ssh:远程连接服务器。

网络相关

  1. netstat -t:仅显示TCP连接。
  2. netstat -u:仅显示UDP连接。
  3. netstat -l:显示所有正在监听的端口。
  4. netstat -p:显示与每个连接关联的进程ID和进程名称。
  5. netstat -a:显示所有的连接,包括正在监听的和正在建立或关闭的。
  6. netstat -n:显示IP地址和端口号,而不进行名称解析。
  7. netstat -r:显示路由表。
  8. netstat -s:显示TCP、UDP、ICMP和IP数据包的统计信息。
  9. netstat -c:连续输出结果,类似于top命令。
  10. netstat -i:显示网络接口的统计信息,如收发数据包、错误信息等。

文件相关

  1. ls:列出当前目录下的文件和文件夹。
  2. cd:切换路径。
  3. mkdir:创建目录。
  4. rm:删除文件或目录。
  5. cp:复制文件或目录。
  6. mv:移动文件或目录。
  7. grep:搜索文件中指定的字符串。
  8. tail:显示文件的末尾内容。
  9. head:显示文件的头部内容。
  10. cat:显示文件的全部内容。
  11. chmod:修改文件或目录的权限。
  12. chown:修改文件或目录的所有者。

工具插件

CPU使用率htop

可以非常直观看到CPU使用率、内存使用率、及负载等信息。

CPU使用率反应的是CPU的忙碌情况。当CPU达到100%时,部分进程会进入等待状态,CPU暂时不会对其进行处理。在实际情况下,为了应对一下突发性的请求压力,服务器CPU使用率一般需要在75%以下。如果一台服务器的CPU使用率多次高于75%,这时候就考虑增加新的服务器。

使用htop查看CPU负载

安装htop命令如下:

yum install htop -y

安装完成后通过htop命令观察CPU负载

htop

cpu.png

内存使用率htop

内存使用率反应的是内存的使用情况。内存用于存放程序的代码及数据,一般分为物理内存和虚拟内存,其中物理内存指的是服务器的内存,而虚拟内存指的是硬盘的一块空间。当物理内存使用率达到100%时将会使用虚拟内存。需要注意的是,虚拟内存的读写速度远远低于物理内存,如果程序被放在了虚拟内存执行,那么程序的执行效率会变得很低。

一般而言,服务器的物理内存应该保持在80%以下,虚拟内存使用率保持在0%。

使用htop命令查看

ram.png

磁盘io(htop

磁盘I/O指的是磁盘的读写,在软件系统中,日志、文件操作、数据库操作都会造成磁盘读写压力,其中又以数据库操作为甚,在高并发情况下往往数据库会首先成为系统的瓶颈。

磁盘监控我推荐大家使用iostat工具,可以很方便查看磁盘的使用情况。

使用iostat查看磁盘I/O

安装iostat命令如下:

yum install sysstat -y

安装完成后通过iostat命令磁盘使用情况。

# 查看磁盘总体读写情况, 1代表每1秒读取一次数据
iostat -x 1

io.png

输入iostat命令后,磁盘总体读写情况如上所示。磁盘负载主要关注2个指标:%idle%util

  • %idle:表示CPU除去等待磁盘I/O以外的空闲时间百分比,这个指标应该要保证在70%以上
  • %util:该设备用于I/O操作的时间百分比,这个指标需要保证在70%以下,当到达100%时表示已经满负载。为了降低磁盘负载,可以采用性能更高的磁盘(OSD,PCIE)或者降低磁盘的操作频率(异步写、合并写)

平均负载htop

平均负载指的是单位时间内平均的活跃进程数,是一个表示服务器负载的指标。一般情况下需要保证平均负载的值小于当前服务器的CPU核数。

一般情况下服务器的平均负载需要小于当前服务器的CPU核数,为了应对突发状况,服务器的平均负载应该在75%即3 以下,如果服务器平均负载超过了75%,需要考虑提升服务器性能(升降配)。

使用htop命令查看

load.png

网络使用情况nload

网络使用情况也是监控的重要指标。当带宽不足时会大大增加请求的响应时间。为了防止突发性并发压力,应该保证服务器的带宽使用率在80%以上。这里需要注意的是,物理网卡限制了服务器所能使用的最大宽带。

查看网络使用情况我推荐使用nload工具。

使用nload查看网络

首先需要安装nload,以centos为例

yum install nload -y

安装完成后我们直接运行nload

nload

network.png

输入nload命令后,网络使用情况如图。其中,网络使用情况分为流入网卡的数据与流出网卡的数据。流入网卡的对应下行带宽的网速,流出网卡的数据对应上行带宽的网速。如果 “当前网速” 持续接近 “最大网速” 时,代表带宽使用率已经接近100%。

指标说明:

  • Curr:当前网速
  • Avg:平均网速
  • Min:最小网速
  • Max:最大网速
  • Ttl:总流量

参考文章

文章来源:https://blog.csdn.net/qq_52198257/article/details/134896655
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。