热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何监控Linux服务器状态?,分享

Linux服务器我们天天打交道,特别是Linux工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展。本文介绍的几个命令,不仅仅适用于


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

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

1. watch

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

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

$ watch -n 5 date 

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

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

$ watch -n 10 who Every 10.0s: who                             butterfly: Tue Jan 23 16:02:03 2019  shs      :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 uptime Every 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 2019  245 

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

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

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

2. top

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

$ top -u alvin top - 16:14:33 up 2 days,  4:27,  3 users,  load average: 0.00, 0.01, 0.02 Tasks: 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 st MiB Mem :   5959.4 total,   3277.3 free,    776.4 used,   1905.8 buff/cache MiB 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+ COMMAND 23026 alvin      20   0   46340   7820   6504 S   0.0   0.1   0:00.05 systemd 23033 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 sshd 23128 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 -10 Jan 11  total        0.05 Jan 12  total        1.36 Jan 13  total       16.39 Jan 15  total       55.33 Jan 16  total       38.02 Jan 17  total       28.51 Jan 19  total       48.66 Jan 20  total        1.37 Jan 22  total       23.48 Today   total        9.83 

小结

我们可以使用很多命令来监控系统的运行状态,本文主要介绍了三个:watch 命令可以让你重复执行某一条命令来监控一些参数的变化,top 命令可以查看某个用户运行的进程数以及消耗的资源,而 ac 命令则可以查看每个用户使用服务器时间。你经常使用哪个命令呢?欢迎留言讨论!


公众号:良许Linux

如何监控 Linux 服务器状态?,

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

www.dengb.comtruehttp://www.dengb.com/Linuxjc/1409139.htmlTechArticle如何监控 Linux 服务器状态?, Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此。为了保证服务器的安全与性能,我们经常需要监…

—-想了解更多的linux相关异常处理怎么解决关注<编程笔记>


推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
author-avatar
书友73892718
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有