服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 如何监控 Linux 服务器状态的方法

如何监控 Linux 服务器状态的方法

2020-07-20 20:28良许Linux Linux

这篇文章主要介绍了如何监控 Linux 服务器状态的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

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

1. watch

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

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

$ watch -n 5 date

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

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

?
1
2
3
4
5
6
7
$ 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 命令来查看系统平均负载情况。

?
1
2
3
4
$ 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

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

?
1
2
3
4
$ watch -n 5 'ps -ef | wc -l'
Every 5.0s: ps -ef | wc -l   butterfly: Tue Jan 23 16:11:54 2019
 
245

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

?
1
2
3
4
5
6
$ 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 选项来指定这个人。

?
1
2
3
4
5
6
7
8
9
10
11
12
$ 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 选项。

?
1
2
3
4
5
$ ac -p
 shark    5.24
 alvin    5.52
 shs    1251.00
 total 1261.76

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

?
1
2
3
4
5
6
7
8
9
10
11
$ 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 服务器状态内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/yychuyu/p/13056012.html

延伸 · 阅读

精彩推荐
  • LinuxLinux lnmp下无法使用mail发邮件的两种解决方法

    Linux lnmp下无法使用mail发邮件的两种解决方法

    在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix。下面为大家一一介绍下 ...

    Linux之家4042019-09-17
  • LinuxLinux中环境变量配置的步骤详解

    Linux中环境变量配置的步骤详解

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的...

    Myths7882022-02-10
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5372019-11-19
  • LinuxLinux常用的日志文件和常用命令

    Linux常用的日志文件和常用命令

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。 Linux 中提供了异常日志,并且日志的细节是可配置的。Linux 日志都以明文形式存储,所...

    Linux教程网2632020-04-18
  • Linux手把手教您在 Linux 上使用 GPG 加解密文件

    手把手教您在 Linux 上使用 GPG 加解密文件

    在本教程中,我将告诉你如何用 GPG 加密和解密文件。这是一个简单的教程,你可以在你的 Linux 系统上尝试所有的练习。这将帮助你练习 GPG 命令,并在你...

    Linux中国6962021-12-15
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10022019-06-19
  • Linux确保Linux系统安全的前提条件 漏洞防护

    确保Linux系统安全的前提条件 漏洞防护

    Linux 作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无...

    Linux之家2642020-04-11
  • Linux详解Linux系统下PXE服务器的部署过程

    详解Linux系统下PXE服务器的部署过程

    这篇文章主要介绍了Linux系统下PXE服务器的部署过程,包括对PXE的API架构作了一个基本的简介,需要的朋友可以参考下...

    运维之道9812019-07-04