当前位置:首页 > 行业动态 > 正文

如何查看服务器运行状态的命令有哪些?

在 Linux 系统中,可以使用命令 ps aux 或 top 查看服务器的运行状态。

在管理和监控服务器时,掌握一些基本的运行命令是至关重要的,这些命令不仅可以帮助我们了解服务器的状态,还可以进行故障排查和性能优化,本文将介绍一些常用的服务器查看运行命令,并附上相关示例和解释。

如何查看服务器运行状态的命令有哪些?  第1张

查看服务器基本信息

uname -a

该命令用于显示系统信息,包括操作系统类型、内核版本等。

示例:

$ uname -a
Linux example.com 5.4.0-66-generic #74~20.04.1-Ubuntu SMP Wed Jan 20 09:23:08 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

hostname

该命令用于显示或设置系统的主机名。

示例:

$ hostname
example.com

查看CPU信息

lscpu

该命令用于显示CPU架构信息,包括型号、核心数等。

示例:

$ lscpu
Architecture:        x86_64
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
...

top

该命令用于实时显示系统中各个进程的资源占用情况,包括CPU使用率。

示例:

$ top

输出结果会动态更新,显示类似以下内容:

top 15:23:45 up 10 days,  3:45,  2 users,  load average: 0.05, 0.07, 0.06
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.3 us,  1.0 sy,  0.0 ni, 97.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2048512 total,   327680 free,   512000 used,  1208912 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1520960 avail Mem

查看内存信息

free -h

该命令用于显示内存的使用情况,并以人类可读的格式显示(如GB)。

示例:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.7G        1.1G        5.3G        127M        1.3G        6.3G
Swap:          2.0G          0B        2.0G

vmstat

该命令用于显示虚拟内存统计信息。

示例:

$ vmstat 1
procs -----------memory------------swap------io----system-------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 536384 131072  619360    0    0     12    56    0     0  0  0  0  0  0  0

每隔一秒更新一次,按Ctrl+C 停止。

查看磁盘信息

df -h

该命令用于显示文件系统的磁盘空间使用情况,并以人类可读的格式显示(如GB)。

示例:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  9.7M  1.6G   1% /run
/dev/sda1        40G   15G   23G   39% /
tmpfs           7.8G   28M  7.8G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup

du -sh /path/to/directory

该命令用于显示指定目录的磁盘使用情况,并以人类可读的格式显示(如GB)。

示例:

$ du -sh /var/log
4、0K    /var/log

查看网络信息

ifconfig

该命令用于显示网络接口的配置信息和状态。

示例:

$ ifconfig
eth0      Link encap:Ethernet  HWaddr   52:54:00:xx:xx:xx  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fexx:xx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12345 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54321 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1234567 (1.2 MB)  TX bytes:543210 (543.2 KB)

netstat

该命令用于显示网络连接、路由表、接口统计等信息。

示例:

$ netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
udp        0      0 0.0.0.0:123             0.0.0.0:*                           
udp6       0      0 :::123                  :::

查看进程信息

ps

该命令用于显示当前活动的进程,常用的选项有aux。

示例:

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 143280  1236 ?        Ss   10:23   0:01 /sbin/init
user      1234  0.0  0.5 123456  67890 ?        Sl   10:23   1:23 /usr/bin/python3 script.py

pgrep

该命令用于查找当前运行的进程,并列出与条件匹配的进程ID。

示例:

$ pgrep python3
1234

查看日志信息

dmesg

该命令用于显示内核环缓冲区的消息,通常用于查看系统启动过程中的信息或硬件相关的错误信息。

示例:

$ dmesg | grep error

journalctl

该命令用于查看系统日志,特别是对于使用systemd的系统。

示例:

$ journalctl -xe
-Logs begin at Sat 2021-01-02 10:23:45 UTC, end at Mon 2021-01-04 15:23:45 UTC. --
Jan 04 15:23:45 example.com systemd[1]: Starting Example Service...
-Subject: Unit example.service has begun start-up
Jan 04 15:23:45 example.com systemd[1]: Started Example Service.

常见问题FAQs

Q1:top命令中的各列分别代表什么?

A:top命令的输出中各列的含义如下:

%CPU: CPU使用率。

%MEM: 内存使用率。

VIRT: 进程使用的虚拟内存大小。

RES: 进程使用的常驻内存大小。

SHR: 进程使用的共享内存大小。

S: 进程状态(如R=运行,S=睡眠,D=不可中断的睡眠,Z=僵尸进程,T=停止或追踪)。

%CPU: CPU使用率。

%MEM: 内存使用率。

TIME+: 进程启动后的总CPU时间。

COMMAND: 启动进程的命令名称。

Q2:ps命令中的各列分别代表什么?

A:ps命令的输出中各列的含义如下:

USER: 进程所有者。

PID: 进程ID。

%CPU: CPU使用率。

%MEM: 内存使用率。

VSZ: 进程使用的虚拟内存大小。

RSS: 进程使用的常驻内存大小。

TTY: 终端名称。

STAT: 进程状态。

START: 进程启动时间。

TIME: 进程使用的CPU时间。

COMMAND: 启动进程的命令名称。

Q3:df命令中的各列分别代表什么?

A:df命令的输出中各列的含义如下:

Filesystem: 文件系统名称。

Size: 文件系统总大小。

Used: 已用空间大小。

Avail: 可用空间大小。

Use%: 已用空间百分比。

Mounted on: 挂载点。

Q4:free命令中的各列分别代表什么?

A:free命令的输出中各列的含义如下:

total: 总计内存大小。

used: 已用内存大小。

free: 空闲内存大小。

shared: 共享内存大小。

buff/cache: 缓存和缓冲区使用的内存大小。

available: 应用程序可以使用的内存大小。

小伙伴们,上文介绍了“服务器查看运行命令”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

0