站点图标 江湖人士

看懂CentOS资源使用状况,5分钟新手站长linux命令教程

看懂CentOS资源使用状况,5分钟新手站长linux命令教程,在建站领域,大致分为两派,一种是基于虚拟主机建站,这种方式建站我们一般不怎么关注系统资源使用状态;另外一种是自己买国外便宜VPS来建站,很多站长都喜欢购买搬瓦工的vps安装Centos系统的VPS。

CentOS资源使用状况

网站建好后,过了一段时间发现网站访问较慢时,或许你想监控一下到底是哪些进程或程序比较占用VPS的资源,本文就基于Centos系统分享一下如何监控VPS系统资源使用状况的知识,要监控Centos系统的资源状况,我们肯定得通过一些命令来达成目的,具体如下。

CentOS资源使用状况

详解CentOS的top命令

CentOS是Linux系统的发行版之一,要执行这些命令您需要通过SSH客户端软件连接到服务器上,SSH客户端你可以使用Xshell,PuTTY这两个客户端,本文中截图是基于PuTTY执行时所产生,本站长之前也是使用Xshell这个客户端,但奈何是破解版,已经失效,转而使用PuTTY了,满足日常使用就可以了,如果你懒得找它的下载程序,本文最后提供了一个百度网盘分享链接,可以下载安装使用。

首先我们来看看这个top命令,它可以用来监控linux的系统状况,如cpu、内存,swap交换分区的使用状况,下面详解红色框住部分的各个数据的含义。

详解Centos的top命令

第一行

第二行:进程(Task)

系统现在共有115个进程,其中处于运行中的有2个,113个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有1个。

第三行:cpu状态

第四行:内存状态

第五行:swap交换分区

这里说明的内存依然区别于windows的内存概念,如果按windows的方式此台服务器1G的内存总量只剩下452M的可用内存,而且我并没有启动什么程序,显然是不科学的,Linux的内存管理有其特殊性,比较复杂,需要我们慢慢去学习。

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存: 140836+355272+331340= 827448kb=808MB 。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第六行是空行

第七行以下

第7行以下是各个进程的列表,各个列头的含义如下:

  1. PID: 进程id
  2. USER: 进程所有者
  3. PR: 进程优先级
  4. NI: nice值。负值表示高优先级,正值表示低优先级
  5. VIRT: 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  6. RES: 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  7. SHR: 共享内存大小,单位kb
  8. S: 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  9. %CPU: 上次更新到现在的CPU时间占用百分比
  10. %MEM: 进程使用的物理内存百分比
  11. TIME+: 进程使用的CPU时间总计,单位1/100秒
  12. COMMAND: 进程名称(命令名/命令行)

多核CPU如何查看?

在top基本视图中,按键盘数字1,可监控每个逻辑CPU的状况:

Centos多核CPU执行top命令

top命令使用格式

top [-] [d] [p] [q] [c] [C] [S] [s] [n]

参数说明

进程字段排序

  1. 敲击键盘b(打开/关闭加亮效果),top的视图变化如下:
top命令敲击键盘b

我们发现进程17085和3858的www进程被加亮了,一般为运行状态(runing)的进程才被加亮,可以通过敲击y键关闭或打开运行态进程的加亮效果。 在链盘上按 x 键打开排序加亮效果,关闭也是按 x 键,按后top的视图变化如下:

top命令排序列加亮效果

可以看到,top默认的排序列是%CPU,即按CPU使用率排序,用得越多排在越前面。如果想按进程占用内存越大排越前面该如何操作呢?其实很简单,只需要按快捷键即可,您可以通过同时按住【shift + >】或【shift + <】可以向右或左改变排序列,操作时你可以先按住shift键(上档键)然后再按下右下角的【<】键或【>】键,下图是按一次shift + >的效果图:

top命令改变排序列

增加进程显示字段

1、敲击【F】键,top进入另一个视图,在这里您可以自定义显示列:

自定义进程显示列

看上方的提示:

Fields Management for window 1:Def, whose current sort field is %MEMNavigate with Up/Dn, Right selects for move then <Enter> or Left commits,’d’ or <Space> toggles display, ‘s’ sets sort. Use ‘q’ or <Esc> to end!

我们可以使用方向键,即带上下左右箭头的键来移动方向,然后通过按【D】键或者【Space(空格)】来选中,最后按【ESC】退出就可以看到在top视图里面已经显示您相显示的列了。

上图列出了所有可在top基本视图中显示的进程字段,可以通过上下箭头键来移动显示列。在本例中,江湖人士选中的列如下:

增加显示列

上图操作后,直接按【ESC】键退出,别告诉我您不知道啥是【ESC】键,键盘左上角找。

top命令增加的显示列

top命令的补充

top命令是Linux上进行系统监控的首选命令,站长们最好要熟悉哟,top命令的监控最小单位是进程,所以看不到程序的线程数和客户连接数,通常可以ps和netstate两个命令来补充top的不足。

内存使用状况命令 

查看内存使用通过:free -m 即可。

以上就是关于top命令的详细解读,建议站长们在排查您的VPS服务器或者docker容器时可以派上用场。

PuTTY下载

这里提供了PuTTY的百度网盘下载地址,需要的朋友可以登录后下载。

退出移动版