服务器突然变卡,访客总说页面加载慢,是不是带宽被占满了?在 Linux 系统里,想查带宽占用率,却对着黑屏命令行发呆,不知道输啥指令?小编前阵子帮朋友排查服务器卡顿问题,试了好几种查看带宽的方法,今天就把这些实用技巧分享出来,从简单到复杂,新手也能跟着做,一起往下看吧!
最基础的:用 ifconfig 看个大概
要是你对 Linux 命令不太熟,先试试 ifconfig,这个命令系统自带,不用额外安装,步骤简单:
- 打开终端,输入 “ifconfig”,回车;
- 找你服务器用的网卡(一般是 eth0 或 ens33),看 “RX bytes” 和 “TX bytes”;
- RX 是接收的数据,TX 是发送的数据,后面的数字越大,说明用的带宽越多。小编第一次用这个命令,光看数字没概念,后来隔 5 分钟再输一次,对比数字变化,就知道带宽是不是在飙升了。
不过这个命令只能看总流量,看不出实时占用率,大概了解下还行,想知道具体哪个进程占带宽,得用别的方法。
看实时占用:试试 iftop 命令,能看到谁在偷带宽
iftop 命令能实时显示带宽占用,还能看到连接的 IP 地址,就是得先安装,步骤是:
- 安装:输入 “yum install iftop”(CentOS 系统)或 “apt install iftop”(Ubuntu 系统),等它装完;
- 输入 “iftop”,回车,屏幕上会出现实时带宽数据,上面是发送,下面是接收;
- 最右边的 “TX”“RX” 就是当前带宽速度,单位是 Kb 或 Mb,小编用这个命令,一眼就看到有个陌生 IP 在大量下载,原来是被人偷偷爬数据,关了连接立马就不卡了。
你别说,这个命令虽然要安装,但实时性真的强,就是参数有点多,新手不用管那些,看最直观的速度就行。
图形化显示:nload 命令,像仪表盘一样清楚
要是觉得纯数字看着累,试试 nload,它能图形化显示带宽占用,适合新手:
- 先安装:输入 “yum install nload” 或 “apt install nload”;
- 输入 “nload”,回车,左边是接收带宽,右边是发送带宽,中间有进度条,占满了就说明带宽用满了;
- 按键盘左右键能切换网卡,服务器有多个网卡的话,这个功能很实用,小编公司服务器有两个网卡,用这个轻松切换查看,方便得很。
这个命令对新手太友好了,不用记复杂参数,进度条一看就懂,朋友看了都说 “比数字直观多了”。
命令 | 是否需要安装 | 优点 | 缺点 | 适合人群 |
---|---|---|---|---|
ifconfig | 不需要 | 系统自带,简单 | 看不到实时速度,信息少 | 纯新手,只想大概了解 |
iftop | 需要 | 实时显示,能看连接 IP | 安装麻烦,参数多 | 有基础,想查具体进程 |
nload | 需要 | 图形化,进度条直观 | 不能看具体连接 IP | 新手,喜欢直观显示 |
进阶技巧:查哪个进程在偷带宽
知道带宽高还不够,得找到哪个程序在占带宽,用 “netstat” 命令配合查:
- 输入 “netstat -tunlp”,能看到所有网络连接的进程 ID(PID);
- 记下占用带宽高的 IP 对应的 PID,再输入 “ps -ef | grep PID”,就能找到对应的程序;
- 小编就是用这个方法,查到是某个陌生的爬虫程序在疯狂下载,kill 掉进程后,带宽立马降下来了。
不过这个步骤有点复杂,新手慢慢来,多试两次就熟了。其实啊,要是嫌麻烦,直接重启服务器也行,就是有点粗暴,但紧急情况下管用。
自问自答:这些问题你可能也遇到过
为什么有的命令输了没反应?
可能是没安装啊,比如 iftop 和 nload,Linux 系统默认不带这些,得自己装。小编第一次用 iftop,输完命令提示 “command not found”,才知道要先安装,折腾了好一会儿。
带宽占用率多少算正常?
一般来说,平时占用 以下算正常,高峰期别超过 80%。要是长期 90% 以上,说明带宽不够了,得升级套餐,朋友的电商服务器就是长期 90% 以上,升级带宽后再也不卡了。
服务器没网,这些命令能用吗?
那肯定不能啊,没网的话,连安装命令都用不了。这种情况只能先排查网络问题,比如插好网线、重启路由器,等有网了再查带宽。
最后说点实在的
小编觉得,查看 Linux 服务器带宽占用率,新手先从 nload 入手,图形化看着清楚;有基础的试试 iftop,能查具体连接;要是就想大概了解,ifconfig 足够用。平时多看看带宽变化,发现突然飙升就及时排查,服务器能稳定不少。
其实啊,这些命令不用全记住,记住一两个自己顺手的就行,关键时刻能解决问题比啥都强。希望这些方法能帮到你,服务器顺顺当当的!