如何监控Linux服务器资源利用情况? (查看服务器使用情况linux)

随着云计算和大数据技术的飞速发展,企业对服务器的需求越来越大。为了确保服务器运行正常,合理地监控服务器资源利用情况是非常必要的。Linux作为现在最常见的服务器操作系统之一,提供了丰富的系统监控和性能调优工具。本文将介绍如何利用Linux提供的工具来监控服务器资源利用情况。

一、资源类型

在我们进行服务器资源监控之前,首先需要了解服务器的一些资源类型。其中包括:

1. CPU:服务器的中央处理器,用于执行计算任务。

2. 内存:服务器用于存储数据和程序的空间。

3. 磁盘:服务器上数据存储的设备。

4. 网络:服务器用于与外界通信的设备。

二、监控工具

1. top命令

top命令是Linux系统监控工具中常用的一个。它可以实时显示系统的CPU、内存和进程等信息。通过运行top命令,我们可以查看正在运行的进程,看CPU、内存和交换空间的使用情况。

输入top命令后,可以看到如下信息:

“`bash

top – 11:19:32 up 8 days, 20:16, 2 users, load average: 0.20, 0.33, 0.46

Tasks: 205 total, 1 running, 204 sleeping, 0 stopped, 0 zombie

%Cpu(s): 5.5 us, 2.5 sy, 0.0 ni, 91.9 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 4048752 total, 3701744 free, 1148520 used, 198488 buff/cache

KiB Swap: 1048572 total, 1048572 free, 0 used. 2726652 avl Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

2402 root 20 0 502808 67080 21272 S 4.0 1.7 121:54.69 chrome

2695 ubuntu 20 0 658024 227640 35804 S 1.7 5.6 166:12.81 gnome-shell

1869 mysql 20 0 2358176 341208 26368 S 1.3 8.4 376:30.60 mysqld

2692 ubuntu 20 0 1047244 143416 77544 S 0.7 3.5 36:06.22 Xorg

3130 ubuntu 20 0 966620 168768 49640 S 0.7 4.2 30:28.64 slack

“`

该命令输出的之一行内容显示了系统的一些基本信息,如uptime(服务器运行时间)、load average(系统负载情况)等。第二行显示了当前系统运行的进程状态,其中包括总进程数、运行、睡眠和停止进程的数量。第三行显示了CPU的使用情况,其中%us代表用户进程的CPU占用率,%sy代表系统进程的CPU占用率,%id代表空闲CPU占用率,wa代表CPU等待I/O操作所占用的时间比率。第四行显示了内存使用情况,其中KiB Mem表示物理内存的使用情况,KiB Swap表示交换空间的使用情况。第五行及以下显示了当前运行的一些进程信息,包括该进程的PID、USER(进程所有者)、%CPU、%MEM、TIME(消耗CPU使用的时间)、COMMAND(进程名)等。

2. free命令

free命令用于查看系统内存使用情况。通过free命令,我们可以查看当前服务器的物理内存(Mem)和交换空间(Swap)使用情况。运行free命令,可以得到如下信息:

“`bash

$ free -m

total used free shared buffers cached

Mem: 3966 3541 425 220 412 1960

-/+ buffers/cache: 1168 2798

Swap: 999 0 999

“`

该命令的输出结果包含了内存和交换空间的使用情况。在输出结果的之一行,total字段表示服务器的总内存大小;used字段表示当前已用的内存数;free字段表示当前可用的内存数;shared字段表示系统当前使用的共享内存数;buffers字段表示内存缓冲区占用的内存数;cached字段表示负责缓存的内存数。在第二行的-/+ buffers/cache中,第二个值表示去掉buffers/cache后当前使用的内存数,第三个值表示当前空闲的内存数。

Swap表示交换空间的使用情况,其中total表示交换空间的大小,used表示当前使用的交换空间大小,free表示当前可用的交换空间大小。

3. iostat命令

iostat命令用于查看磁盘IO使用情况。通过iostat命令,我们可以查看服务器磁盘读写速率、磁盘IO的平均负载等信息。运行iostat命令,可以得到如下信息:

“`bash

$ iostat

Linux 4.15.0-39-generic (ubuntu) 11/19/19 _x86_64_ (8 CPU)

avg-cpu: %user %nice %system %iowt %steal %idle

4.90 0.00 0.46 0.11 0.00 94.53

Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 3.30 114.45 31.15 238371289 64866286

sdb 0.05 0.42 7.50 880994 15753012

“`

该命令输出的前几行为系统基本信息,其中包括了平均CPU使用率。最后几行则显示了每个磁盘的IO使用情况,其中包括磁盘的tps(Time per second,每秒读写次数)、kB_read/s(每秒读取的数据量)、kB_wrtn/s(每秒写入的数据量)、kB_read(读取的总数据量)、kB_wrtn(写入的总数据量)等信息。

4. ifstat命令

ifstat命令用于查看网络使用情况。通过ifstat命令,我们可以查看服务器网络流量、网卡的发送和接收速率等信息。运行ifstat命令,可以得到如下信息:

“`bash

$ ifstat -a

eth0 wlan0

KB/s in KB/s out KB/s in KB/s out

0.21 0.08 7.00 0.34

0.21 0.09 8.59 0.34

“`

该命令输出的内容包括两个网卡的发送和接收速率。其中之一、二行的KB/s in表示接收的流量,KB/s out表示发送的流量。eth0和wlan0是两个不同的网卡。

三、监控工具的使用

以上介绍了Linux系统监控的一些常用工具,这些工具都非常实用,可以让我们及时发现系统性能问题。下面,我们将介绍如何在Linux系统中使用这些工具。

1. 使用top命令

– 若使用top命令查看所有进程,可直接输入top命令。

“`bash

$ top

“`

– 若要按照CPU使用率排序,可以输入top -o %CPU命令。该命令会按照CPU使用率对进程排序,并将使用CPU比较多的进程排在前面,使用CPU较少的排在后面。

“`bash

$ top -o %CPU

“`

– 若要按照内存使用率排序,可以输入top -o %MEM命令。该命令会按照内存使用率对进程排序,并将使用内存比较多的进程排在前面,使用内存较少的排在后面。

“`bash

$ top -o %MEM

“`

– top命令还可以指定显示多少行信息。例如,我们只想显示最占用CPU的前5个进程:

“`bash

$ top -o %CPU -n 5

“`

2. 使用free命令

– 直接输入free命令即可查看服务器内存使用情况。

“`bash

$ free

“`

– 若要使用MB(兆字节)为单位而不是kB(千字节),可以使用free -m命令。

“`bash

$ free -m

“`

3. 使用iostat命令

– 直接输入iostat命令即可查看磁盘IO使用情况。

“`bash

$ iostat

“`

– 若要查看所有设备的IO请求,可以使用-i命令。

“`bash

$ iostat -i

“`

– 若要按照CPU使用率排序,可以输入iostat -odx r -k命令。

“`bash

$ iostat -odx r -k

“`

4. 使用ifstat命令

– 直接输入ifstat命令即可查看网络使用情况。

“`bash

$ ifstat

“`

– 若要查看特定网卡的流量信息,可以使用-i命令。

“`bash

$ ifstat -i eth0

“`

以上就是一些常用的Linux系统监控工具的使用方法。通过对服务器资源的监控,我们可以掌握服务器的运行状况,及时发现系统的性能问题,进行性能调优和优化工作,保证服务器的正常运行和高效使用。

相关问题拓展阅读:

  • 如何查看Linux下系统占用的资源?
  • linux查看服务器cpu,内存使用情况

如何查看Linux下系统占用的资源?

用 ‘top -i’ 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情仔宏运况…

top:

主要参数

d:指定更新的间隔,以秒计算。

q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以更高的优先序执行。

c:显示进程完整的路径与名称。

S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

s:安全模式。

i:不显示任何闲置(Idle)或无用(Zombie)的行程。

n:显示更新的次数,完成后将会退出to

显示参数:

PID(Process ID):进程标示号。

USER:进程所有者的用户名。

PR:进程的优先级别。

NI:进程的优先级别数值。

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

%CPU:该进程占用的CPU使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME+:该进程启动后占用的总的CPU时间。

Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

free

1.作用

free命令用来显示内存的使用情况,使用权限是所有用户。

2.格式

free

3.主要参数

-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。

-s delay:显念梁示每隔多少秒数来显示一次内存使用情况。

-t:显示内存总和列。

-o:不显示缓冲区调节列。

uptime

18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21

现在的时间

系统开机运转到现在经过的时间

连线的绝皮使用者数量

最近一分钟,五分钟和十五分钟的系统负载

参数: -V 显示版本资讯。

vmstat

procemoryswapiosystemcpu—-

r b swpd free buff cache si so bi bo in cs us sy id wa

1 观察磁盘活动情况

磁盘活动情况主要从以下几个指标了解:

bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。

bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。

wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。

2 观察cpu活动情况

vmstat比top更能反映出cpu的使用情况:

us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。

sy: 系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大的话,就需要注 意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互相影响。

id:cpu空闲的时间比例。

wa:cpu等待未决的磁盘IO的时间比例。

iostat

用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量

参数:

-c 只显示CPU行

-d 显示磁盘行

-k 以千字节为单位显示磁盘输出

-t 在输出中包括时间戳

-x 在输出中包括扩展的磁盘指标

avg-cpu: %user %nice %sys %iowait %idle

20.25 0.18 2.61 76.39 0.57

%iowait 等待本地I/O时CPU空闲时间的百分比

%idle 未等待本地I/O时CPU空闲时间的百分比

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

hda 9.86 284.34 84.

linux查看服务器cpu,内存使用情况

之一种:用 top 命令 中的cpu 信息观察

  Top可以看到的cpu信息有:

  Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie

  Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si

  具体的解释如下:

  Tasks: 29 total 进程孙带总数

  1 running 正在运行的进程数

  28 sleeping 睡眠的进程数

  0 stopped 停止的进程数

  0 zombie 僵尸进程数

  Cpu(s):

  0.3% us 用户空间占用CPU百分比

  1.0% sy 内核空间占用CPU百分比

  0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比

  98.7% id 空闲CPU百分比

  0.0% wa 等待输入输出的CPU时间百分比

  0.0% hi

  0.0% si

  0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。

  第二种:用vmstat

  vmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统猜凯搏计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

  输入命令:

  vmstat 2 5

  如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多。

  vmstat参数解释:

  Procs

  r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间

  Memory

  swpd: 虚拟内存使用情况,单位:KB

  free: 空闲的内存,单位KB

  buff: 被用来做为缓存的内存数,单位:KB

  Swap

  si: 从磁盘交换到内存的交换页数量,单位:KB/秒

  so: 从内存交换到磁盘的交换页数量,单位:KB/秒

  IO

  bi: 发送到块设备的块数,单位:块/秒

  bo: 从块设备接收到的块数,单位:块/秒

  System

  in: 每秒的中断数,包括时钟中断

  cs: 每秒的环境(上下文)切换次数

  CPU

  按 CPU 的总使用穗祥百分比来显示

  us: CPU 使用时间

  sy: CPU 系统使用时间

  id: 闲置时间

查看服务器使用情况linux的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于查看服务器使用情况linux,如何监控linux服务器资源利用情况?,如何查看Linux下系统占用的资源?,linux查看服务器cpu,内存使用情况的信息别忘了在本站进行查找喔。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何监控Linux服务器资源利用情况? (查看服务器使用情况linux)》
文章链接:https://zhuji.vsping.com/28429.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。