千家信息网

监控Linux服务器状态的实现方法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了监控Linux服务器状态的实现方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此。为
千家信息网最后更新 2026年11月03日监控Linux服务器状态的实现方法

这篇文章主要讲解了监控Linux服务器状态的实现方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展。

本文介绍的几个命令,不仅仅适用于服务器监控,也适用于我们日常情况下的开发。

1. watch

watch 命令我们的使用频率很高,它的基本作用是,按照指定频率重复执行某一条指令。使用这个命令,我们可以重复调用一些命令来达到监控服务器的作用。

默认情况下,watch 命令的执行周期是 2 秒,但我们可以使用 -n 选项来指定运行频率,比如我们想要每隔 5 秒执行 date 命令,可以这么执行:

$ watch -n 5 date

一台服务器肯定有多人在用,特别是本部门的小伙伴。对于这些小伙伴有没浑水摸鱼,我们可以使用一些命令来监控他们。

我们可以每隔 10 秒执行 who 命令,来看看都有谁在使用服务器。

$ watch -n 10 whoEvery 10.0s: who    butterfly: Tue Jan 23 16:02:03 2019shs :0  2019-01-23 09:45 (:0)dory pts/0 2019-01-23 15:50 (192.168.0.5)alvin pts/1 2019-01-23 16:01 (192.168.0.15)shark pts/3 2019-01-23 11:11 (192.168.0.27)

如果发现系统运行很慢,我们可以调用 uptime 命令来查看系统平均负载情况。

$ watch uptimeEvery 2.0s: uptime    butterfly: Tue Jan 23 16:25:48 2019 16:25:48 up 22 days, 4:38, 3 users, load average: 1.15, 0.89, 1.02

一些关键的进程肯定不能挂,否则可能会影响到业务开展,所以我们可以重复统计服务器中的所有进程数量。

$ watch -n 5 'ps -ef | wc -l'Every 5.0s: ps -ef | wc -l   butterfly: Tue Jan 23 16:11:54 2019245

想动态知道服务器内存使用情况,可以重复执行 free 命令。

$ watch -n 5 free -mEvery 5.0s: free -m    butterfly: Tue Jan 23 16:34:09 2019  total used free shared buff/cache availableMem:  5959  776 3276  12 1906 4878Swap:  2047  0 2047

当然不仅仅是这些,我们还可以重复调用很多命令来对服务器一些关键参数进行监控,

2. top

使用 top 命令我们可以知道系统的很多关键参数,而且是动态更新的。默认情况下,top 监控的是系统的整体状态,如果我们只想知道某个人的使用情况,可以使用 -u 选项来指定这个人。

$ top -u alvintop - 16:14:33 up 2 days, 4:27, 3 users, load average: 0.00, 0.01, 0.02Tasks: 199 total, 1 running, 198 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stMiB Mem : 5959.4 total, 3277.3 free, 776.4 used, 1905.8 buff/cacheMiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 4878.4 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND23026 alvin 20 0 46340 7820 6504 S 0.0 0.1 0:00.05 systemd23033 alvin 20 0 149660 3140 72 S 0.0 0.1 0:00.00 (sd-pam)23125 alvin 20 0 63396 5100 4092 S 0.0 0.1 0:00.00 sshd23128 alvin 20 0 16836 5636 4284 S 0.0 0.1 0:00.03 zsh

在这个结果里,你不仅仅可以看到 alvin 这个用户运行的所有的进程数,也可以看到每个进程所消耗的系统资源(CPU,内存),同时依然可以看到整个系统的关键参数。

3. ac

如果你想知道每个用户登录服务器所使用的时间,你可以使用 ac 命令。这个命令需要你安装 acct 包(Debian)或 psacct 包(RHEL,Centos)。

如果我们想知道所有用户登陆服务器所使用的时间之和,我们可以直接运行 ac 命令,无需任何参数。

$ ac
total 1261.72

如果我们想知道各个用户所使用时间,可以加上 -p 选项。

$ ac -p shark    5.24 alvin    5.52 shs    1251.00 total 1261.76

我们还可以通过加上 -d 选项来查看具体每一天用户使用服务器时间之和。

$ ac -d | tail -10Jan 11 total 0.05Jan 12 total 1.36Jan 13 total 16.39Jan 15 total 55.33Jan 16 total 38.02Jan 17 total 28.51Jan 19 total 48.66Jan 20 total 1.37Jan 22 total 23.48Today total 9.83

看完上述内容,是不是对监控Linux服务器状态的实现方法有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。

服务器 服务 命令 监控 情况 系统 用户 状态 关键 参数 时间 进程 运行 不仅仅 内容 小伙 小伙伴 频率 方法 之和 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司起名 互联网和科技技术 互联网是不是新科技 互联网金融科技创新 华中科技大学互联网 电子科技大学互联网 广西拼得多互联网科技有限公司 成都互联网科技公司100强 互联网科技有哪些公司 赶超互联网科技 微信多开 互联网科技革命什么开始 互联网科技公司有风险吗 深圳市优智互联网科技有限公司 世界互联网领先科技成果获奖 烟台灵鸽互联网科技有限公司 互联网方面的科技前沿 产业互联网科技服务公司 广州有谷有贝互联网科技有限公司 上海万顺科技互联网有限公司招聘 瑞安市蟠桃会互联网科技有限公司 手冲咖啡和咖啡机区别 互联网科技公司经营范围 金融科技创新监管互联网金融 米客互联网科技 隆华科技工业互联网 互联网时代科技改变生活 互联网科技包装股 宁波跨境商互联网科技有限公司 承德科技产业互联网平台 恒生科技互联网指数十大成分股
0