首页 新闻资讯 云服务器 轻量云服务器资源监控指南:Linux下常用命令实战
轻量云服务器资源监控指南:Linux下常用命令实战
时间 : 2026-05-04 10:46:02 编辑 : 华纳云 分类 :云服务器 阅读量 : 182

买了一台轻量云服务器跑业务,最怕的就是资源突然跑满而自己完全没察觉。轻量云本身资源相对有限,少则11G,多则48G,一旦CPU或内存被某个进程吃光,网站的响应速度就直接掉下去了。本文不讲空话,直接把查看CPU、内存、磁盘、网络、IO负载的命令和输出解读摆在桌面上。CPU是轻量云服务器最敏感的资源。一个进程跑满单核,整台机器的负载就会明显上升。

top是最通用的CPU监控工具,进入top界面后可以看到CPU使用率的百分比、内存占用、进程列表等。

top

重点关注这行数据:%Cpu(s)后面的us(用户态占用)、sy(内核态占用)、id(空闲)。如果id长期低于20%,说明CPU接近满载。按`P`键可按CPU使用率排序,直接定位占用最高的进程。

如果系统没有htop,先安装:

# Ubuntu/Debian

apt install htop -y

# CentOS

yum install htop -y

htop

htop以彩色条状图展示每个CPU核心的使用率,并且可以直接用箭头选择进程、按F9杀进程,比top更方便。

查看CPU负载平均值

uptime

输出中最后三列分别是1分钟、5分钟、15分钟的平均负载(load average)。对于轻量云服务器(1核),load average超过1.0说明有进程在排队;对于2核机型,超过2.0才算过载。配合top一起看能判断是真负载高还是短暂波动。

查看CPU详细信息

lscpu

可以确认轻量云的CPU型号、核心数、线程数。部分轻量云的CPU是共享线程的,看到“Thread(s) per core: 2”表示开启了超线程。

轻量云的内存通常只有1-4GB,内存一旦不够,系统就会开始用swap(磁盘虚拟内存),性能会大幅下降。

free命令

free -h

输出中的available才是真正可用的内存。很多新手看到used很高就担心,但Linux会把空闲内存用作缓存(buff/cache),这部分在需要时可以立即释放。重点关注available列,如果长期低于总内存的10%,说明需要升级配置或者排查内存泄漏。

查看内存占用最高的进程

ps aux --sort=-%mem | head -10

按内存使用率倒序排列,取出前10行。一眼就能看到哪个进程吃掉了最多内存。

检查swap使用情况

swapon --show

如果swap使用率持续升高,说明内存已经不够用了。轻量云服务器可以创建swap文件临时缓解,但根本解决方法是增加内存或优化程序。

轻量云的磁盘空间一般20-80GB,日志文件、数据库文件、软件包缓存会不知不觉占满分区。

查看磁盘使用率

df -h

关注Use%列,超过80%就应该开始清理,超过90%会有服务写入失败的风险。特别留意`/dev/vda1``/dev/sda1`这些系统盘分区。

查看大文件目录

du -sh /* 2>/dev/null | sort -hr | head -10

这条命令会统计根目录下每个文件夹的大小,找出占用空间最大的前10个。常见的占用大户是`/var/log`(日志)、`/www`(网站数据)、`/home`

查看磁盘I/O负载

轻量云服务器的磁盘I/O性能通常比普通云服务器低,大量读写时会卡顿。

iostat -x 1 3

如果没有iostat,安装sysstat包:

apt install sysstat -y  # 或 yum install sysstat -y

重点关注`%util`列,如果持续超过80%,说明磁盘已经很忙了。`await`列是平均I/O等待时间,超过20ms就属于高延迟。

实时监控I/O进程

iotop

类似top,但只显示磁盘读写活动。按`o`键只显示正在读写的进程。如果看到`mysqld``java`持续高I/O,就要检查对应应用的问题。

轻量云服务器的带宽通常有限(3Mbps5Mbps10Mbps居多),带宽跑满的时候网站加载会非常慢。

查看实时网络流量

nload

需要安装:`apt install nload -y`。会显示进站(Incoming)和出站(Outgoing)流量,以Mbps为单位。如果接近服务器购买时的带宽上限(例如5Mbps对应约0.6MB/s),就是带宽瓶颈了。

查看端口监听和连接数

ss -tlnp

列出所有监听的TCP端口以及对应的进程。可以用来检查NginxMySQLRedis等服务是否正常监听。

查看当前TCP连接数:

ss -s

如果TCP连接数突然暴涨,可能是遭受攻击或者程序没有及时释放连接。

查看每个IP的连接数

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -10

统计连接本服务器的远程IP及其连接数。如果某个IP的连接数异常高(上千),可以考虑用防火墙封禁它。

如果不想手动输入多条命令,可以用`dstat`一次看CPU、内存、磁盘、网络的综合情况。

dstat -c -m -d -n 2

安装方法:`apt install dstat -y`。每隔2秒刷新一次,按Ctrl+C退出。

把常用资源采集写入脚本并配合crontab执行,就可以记录历史负载数据,方便回溯排查问题。

#!/bin/

LOG_FILE="/var/log/server_status.log"

echo "=== $(date) ===" >> $LOG_FILE

echo "CPU负载: $(uptime | awk -F 'load average:' '{print $2}')" >> $LOG_FILE

echo "内存使用: $(free -h | awk 'NR==2{print $3"/"$2}')" >> $LOG_FILE

echo "磁盘使用: $(df -h / | awk 'NR==2{print $5}')" >> $LOG_FILE

echo "" >> $LOG_FILE

保存为`/usr/local/bin/check_resources.sh`,添加执行权限。然后在crontab中添加每小时执行一次:

0 * * * * /usr/local/bin/check_resources.sh

这样系统会每小时记录一次资源快照,出问题时可以回看历史数据,确认是从哪个时间点开始异常的。

查看轻量云服务器资源占用不需要复杂的第三方监控软件,Linux自带的命令组合完全够用。日常排查时遵循这个顺序:先用`top``htop`CPU和内存概况,再用`free -h`确认内存可用量,接着用`df -h`检查磁盘空间,最后用`nload``dstat`确认网络带宽是否达到上限。遇到I/O卡顿时用`iostat -x`追查原因。

华纳云 推荐文章
一台2H4G云服务器同时跑Web、数据库和Redis够用吗? IP地址延迟低但是访问却很慢?排查丢包、带宽和TCP瓶颈步骤 云服务器快照备份策略:每天一次还是每周一次更合理? 宝塔面板在香港服务器安装中启动不了Nginx? 家宽VPS是什么?一篇讲透它的特点、套路与选购方法 宝塔面板数据备份过程分享 联通AS9929、AS4837、CUVIP与CIA网络线路的挑选指标 云服务器升级配置后需要重启吗?热迁移和冷迁移的区别 高性能云服务器推荐:游戏、建站、开发三大场景 年付还是月付?香港VPS购买省钱攻略
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持