如何查看linux服务器运行状态

如何查看linux服务器运行状态,第1张

Linux系统如何查看服务的运行状态?1. 前言本文主要讲解如何在Linux系统上查看服务的运行状态。Linux系统提供各种系统服务(如进程管理、登录服务、日志、计划任务等)和网络服务(如远程登录、电子邮件、打印机、web主机、数据存储、文件传输、域名解析(使用DNS)、动态IP地址分配(使用DHCP)等等)。Linux系统如何查看服务的运行状态从技术上讲,服务是一个进程或一组进程(通常称为守护进程),在后台连续运行,等待请求(特别是来自客户机的请求)。Linux支持不同的方式来管理服务,比如启动、停止、重启、开机自启动等,大多数最新的Linux发行版在使用相同的进程管理器-systemd。systemd是Linux系统和服务管理器init进程的一个替代品,它与SysV和LSB init脚本兼容,systemctl命令是管理systemd的主要工具。systemd的组件systemd的组件在本教程中,我们将演示如何查看Linux系统中systemd可管理的所有服务。2. 如何查看Linux系统中systemd可管理的所有服务当您不带任何参数运行systemctl命令时,它将打印所有已加载的systemd单元的列表(请阅读systemd文档以获得有关systemd单元的更多信息)。显示各服务单元的状态(无论是活动的还是非活动的)。systemctl如何查看Linux系统中systemd可管理的所有服务列出系统上所有已加载的服务,查看它们活动状态,是否正在运行、是否关闭、是否启动失败。systemctl list-units --type=service或者systemctl --type=service列出系统上所有已加载的服务,查看它们活动状态要列出所有已加载但已经设置开机自启动的服务systemctl list-units --type=service --state=activesystemctl --type=service --state=active要列出所有已加载但已经设置开机自启动的服务查看所有正在运行的服务:systemctl list-units --type=service --state=runningsystemctl --type=service --state=running查看所有正在运行的服务如果经常使用前面的命令,可以在创建别名命令,编辑bashrc文件vim ~/.bashrc添加以下内容,创建别名命令running_services。alias running_services='systemctl list-units --type=service --state=running'保存文件并退出。使用running_services命令查看服务器上所有已加载、正在运行的服务的列表。running_services此外,服务的一个重要方面是它们使用的端口。要确定守护进程监听的端口,可以使用netstat或ss工具,如下所示。其中-l选项表示打印所有监听的套接字,-t显示所有TCP连接,-u显示所有UDP连接,-n表示打印数字端口号(而不是应用程序名称),-p表示显示应用程序名称。netstat -ltup | grep sshd或者ss -ltup | grep sshd第五列显示套接字:本地地址:端口。在本例中,进程sshd正在端口22上监听。查看守护进程监听的端口此外,如果您的服务器防火墙服务运行的状态,使用以下命令查看已经允许或者阻塞的端口或者服务查看防火墙服务运行的状态firewall-cmd --list-servicesfirewall-cmd --list-portsUbuntu 用户sudo ufw status3. 总结在本教程中,我们演示了如何在Linux中查看systemd下运行的服务及这些服务的运行状态。我们还介绍了如何检查服务正在监听的端口,以及如何查看在防火墙服务已经允许或者阻塞的服务和端口号。

1、首先是对于CPU的说明

服务器CPU性能参数主要信息可以通过查看 /proc/cpuinfo 获得。具体查看指令及效果如下:

显示这台服务器上有2个物理CPU

显示这台服务器的物理核数为16个

显示运行模式为64位

显示为Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz

命令:

显示此服务器的线程数为64

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

1.命令格式:

top [参数]

2.命令功能:

显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

3.命令参数:

-b 批处理

-c 显示完整的治命令

-I 忽略失效过程

-s 保密模式

-S 累积模式

-i<时间>设置间隔时间

-u<用户名>指定用户名

-p<进程号>指定进程

-n<次数>循环显示的次数

4.使用实例:

实例1:通过 Top 命令显示进程信息

命令:

统计信息区:

前五行是当前系统情况整体的统计信息区。下面我们看每一行信息的具体意义。

第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:

10:38:58 — 当前系统时间

up 39 days, 19:47 — 系统已经运行了39天19小时47分钟(在这期间系统没有重启过的吆!)

1 users — 当前有1个用户登录系统

load average: 0.00, 0.00, 0.00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行,Tasks — 任务(进程),具体信息说明如下:

系统现在共有769个进程,其中处于运行中的有1个,463个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行,cpu状态信息,具体属性说明如下:

0.0%us — 用户空间占用CPU的百分比。

0.0% sy — 内核空间占用CPU的百分比。

0.0% ni — 改变过优先级的进程占用CPU的百分比

100.0% id — 空闲CPU百分比

0.0% wa — IO等待占用CPU的百分比

0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比

0.0% si — 软中断(Software Interrupts)占用CPU的百分比

备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!

第四行,内存状态,具体信息如下:

65600012k total — 物理内存总量

1785256k used — 使用中的内存总量

62385920k free — 空闲内存总量

1428836k buffers — 缓存的内存量

第五行,swap交换分区信息,具体信息说明如下:

2097148k total — 交换区总量

918340k used — 使用的交换区总量

1178808k free — 空闲交换区总量

备注:

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第六行,空行。

第七行以下:各进程(任务)的状态监控,项目列信息说明如下:

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)

或者通过 free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。

命令:

显示我当前的服务器的物理内存是62G,其中交换内存是2个G,一共剩余是60G的

三、查看Linux内核当前的系统版本号

命令:

显示的当前的服务器Linux内核是Ubuntu系统,版本号是18.04.6

大致结果类似下图:

Mem行(单位均为M):

(-/+ buffers/cache)行:

Swap行指交换分区。

实际上不要看free少就觉得内存不足了,buffers和cached都是可以在使用内存时拿来用的,应该以(-/+ buffers/cache)行的free和used来看。只要没发现swap的使用,就不用太担心,如果swap用了很多,那就要考虑增加物理内存了。

大致结果类似下图:

上方文字部分的红框为总的CPU占用百分率,下方的表格是每个进程的CPU占用率,在表格第一行可以看到红框中占用率超过了150%,这是因为服务器是多核CPU,而该进程使用了多核。

大致结果类似下图:

表格中会显示显卡的一些信息,第一行是版本信息,第二行是标题栏,第三行就是具体的显卡信息了,如果有多个显卡,会有多行,每一行的信息值对应标题栏对应位置的信息。

需要注意的一点是显存占用率和GPU占用率是两个不一样的东西,类似于内存和CPU,两个指标的占用率不一定是互相对应的。

在下面就是每个进程使用的GPU情况了。

大致结果如下图:

表格中每一行代表一个文件系统,各列意义如下:

要查看具体某个文件或者文件夹的大小的话,可以使用下面的命令:

du命令可以查看文件或文件夹的磁盘使用空间,而-h参数的意思是使用GB、MB等易读的格式。如果不带--max-depth参数,那么将循环列出文件夹下所有文件和文件夹占用的空间,带此参数,则是指定深入目录的层数。

如果要看文件夹下所有文件的大小,可以使用*:

查看作者首页


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8718223.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存