Home>Article>Operation and Maintenance> How to monitor Linux server status

How to monitor Linux server status

步履不停
步履不停 Original
2019-06-19 16:12:34 3371browse

How to monitor Linux server status

We deal with Linux servers every day, especially Linux engineers. In order to ensure the security and performance of the server, we often need to monitor some status of the server to ensure that the work can be carried out smoothly.

The commands introduced in this article are not only suitable for server monitoring, but also for development in our daily situations.

1. watch

The watch command is used very frequently. Its basic function is to repeatedly execute a certain instruction at a specified frequency. Using this command, we can repeatedly call some commands to monitor the server.

By default, the execution period of the watch command is 2 seconds, but we can use the-noption to specify the running frequency. For example, if we want to execute the date command every 5 seconds, we can Execute like this:

$ watch -n 5 date

A server must be used by multiple people, especially friends in this department. We can use some commands to monitor whether these friends are fishing in troubled waters.

We can execute the who command every 10 seconds to see who is using the server.

$ 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)

If we find that the system is running very slowly, we can call the uptime command to check the average load of the system.

$ 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

Some key processes must not hang, otherwise it may affect business development, so we can repeatedly count the number of all processes in the server.

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

If you want to dynamically know the server memory usage, you can repeatedly execute the free command.

$ 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

Of course it’s not just these, we can also repeatedly call many commands to monitor some key parameters of the server,

2. top

Using the top command we can know Many key parameters of the system are dynamically updated. By default, top monitors the overall status of the system. If we only want to know the usage of a certain person, we can use the-uoption to specify this person.

$ 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

In this result, you can not only see the number of all processes run by the user alvin, but also the system resources (CPU, memory) consumed by each process. You can also see to key parameters of the entire system.

3. ac

If you want to know the time it takes for each user to log in to the server, you can use the ac command. This command requires you to install theacctpackage (Debian) or thepsacctpackage (RHEL, Centos).

If we want to know the sum of the time spent by all users logging into the server, we can run the ac command directly without any parameters.

$ ac total 1261.72

If we want to know the time used by each user, we can add the-poption.

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

We can also view the sum of server time used by users each day by adding the-doption.

$ 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

Summary

We can use many commands to monitor the running status of the system. This article mainly introduces three:watchThe command allows you to repeatedly execute a certain command. Monitor changes in some parameters. Thetopcommand can view the number of processes running by a user and the resources consumed, while theaccommand can view the server time used by each user. Which command do you often use? Welcome to leave a message for discussion!

For more Linux articles, please visit theLinux Tutorialcolumn to learn!

The above is the detailed content of How to monitor Linux server status. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Linux Basics Series 2 Next article:Linux Basics Series 2