如何查看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=active

systemctl --type=service --state=active

要列出所有已加载但已经设置开机自启动的服务

查看所有正在运行的服务:

systemctl list-units --type=service --state=running

systemctl --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-services

firewall-cmd --list-ports

Ubuntu 用户

sudo ufw status

3 总结

在本教程中,我们演示了如何在Linux中查看systemd下运行的服务及这些服务的运行状态。我们还介绍了如何检查服务正在监听的端口,以及如何查看在防火墙服务已经允许或者阻塞的服务和端口号。

1、由于测试环境是VMWare 里面的,并且使用NAT转发和主机共享网络,所以将19216811段作为客户机段IP,并且在VMware 中关闭 DHCP 服务器,使用一台Linux 作为DHCP服务器,另一台XP作为测试客户机。

2、查询是否安装DHCP,查看到当前系统没有安装。

3、采用镜像里面的软件进行安装,成功安装后查看到软件系统DHCP 305。

4、设置Linux 网卡信息,由于19216811已经被VMWare 默认占用,并且19216812为网关,所以这里使用19216813。

5、在DHCP配置里子网19216810子网掩码2552552550,设置保留IP地址,并置相应的其他信息,重启网络服务、DHCP 服务器。

6、打开客户机,并且客户机设置的是自动获取 IP 地址。

7、查看客户机IP,看到已经是DHCP 服务器里面设置的域名,以及IP段,说明从DHCP服务器正常获取到IP地址;并且能够ping 通网络,说明能够正常上网。

8、查看Linux的系统日志,首先使用cat /var/log/messages查看日志,查看到有来自客户机的请求记录。

9、查看DHCP分配文件,使用cat /var/lib/dhcpd/dhcpdleases命令,查看到客户机的信息以及DHCP 分配IP情况,测试成功。

检测linux系统下ftp服务器是否开启的方法如下:

1、第一步,打开一台Linux的电脑,进入到输入shell指令的命令行状态下,如下图所示。

2、第二步,使用键盘在命令行中输入:”service vsftp status“这个指令,指令的意思是查看ftp服务器的状态,如下图所示。

3、第三步,输入完成之后,点击”回车键“运行该指令,就会显示ftp服务器的开关状态,比如下图就是“inactive”状态,表示ftp服务器处于关闭状态,如下图所示。

  1ps

  ps命令是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和它所运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。总之大部分信息都是可以通过执行该命令得到的。ps命令最常用来监控后台进程的工作情况,因为后台进程是不和屏幕、键盘这些标准输入/输出设备进行通信的,所以如果需要检测后台情况,就需要使用ps命令了。它的格式如下所示:

  格式:ps [选项]

  其主要选项如下。

  -a:显示系统中所有进程的信息。

  -e:显示所有进程的信息。

  -f:显示进程的所有信息。

  -l:以长格式显示进程信息。

  -r:只显示正在运行的进程。

  -u:显示面向用户的格式(包括用户名、CPU及内存的使用情况等信息)。

  -x:显示所有非控制终端上的进程信息。

  -p:显示由进程ID指定的进程信息。

  -t:显示指定终端上的进程信息。

大致结果类似下图:

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参数,那么将循环列出文件夹下所有文件和文件夹占用的空间,带此参数,则是指定深入目录的层数。

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

查看作者首页

在linux下可以通过top命令来查系统运行状态和进程运行状态,通过man查看top手册,top的解释是display Linux tasks,以前看到过一个另外的解释display top CPU processes,这个我觉得挺贴切的,因为top这个命令会自动把消耗高的进程排到前面,真的很形象。

1、命令说明

top 参数

-h:help表示显示帮助的意思

-v:version显示版本的意思,和-h的功能一样

-u:user显示指定用户的进程,例如:top -u root

-p:pid显示指定进程,例如:top -p 1

-n:number进入top后,top会定时刷新状态,这个值就是设置刷新几次

-d:delay进入top后,top会定时刷新状态,这个值就是设置几秒刷新一次

-b:Batch mode,top刷新状态默认是在原数据上刷新,使用这个参数后,会一屏一屏的显示数据。结合重定向功能和计划任务,这个参数在记录服务器运行状态时非常有用。

以上一些参数是在输入命令时提供的参数,在top运行的过程中,还可以输入一些快捷键来调整显示内容。

一些命令运行时的快捷键说明:

q:quit退出程序

M:Memory按照内存使用量排序

P:CPU按照cpu使用量排序

k:kill杀死PID的进程,不输入PID,直接按回车就会退出

1:能显示CPU每个核心的情况

h或者:help 查看更多快捷键

f:fields查看进程表头字段含义

2、命令测试

top

top命令测试

第一行说明:

top – :系统当前时间

up:服务器连续运行的时间,笔者见过有服务器连续运行一年以上,linux服务器还是非常稳定的。

user:当前有多少用户登录系统

load average:这个边有3个数值分别表示系统在前1分钟,5分钟,15分钟的工作负载,根据笔者以往的经验来看单核负载在3-5之间比较合适,经常在1以下,说明cpu利用率不高,在5以上,cpu会处于较高负载状态,会容易宕机。有一次项目上线,晚上加班观察服务器状况,这个值长时间保持在72左右,因为服务器有八核,所以每核的值为9,后来服务器就挂了。

第二行就是显示任务的数量情况,其中zombie要注意一下,这个是表示僵尸进程,出现了僵尸进程要注意下僵尸进程是如何产生的。如果不找到产生原因,即使杀死了,可能也会再次出现。

第三行表示cpu的运行情况,按下1可以显示每个核的运行情况。

第四行表示内存memory的使用情况。

第五行表示交换空间swap的使用情况。

下面显示的就是进程的运行状态了。每个表头表示的含义如下:

PID:进程编号

USER:进程所属用户

PR/NI:Priority/Nice value进程执行的优先顺序

VIRT:Virtual Image (kb) 虚拟内存使用总额

RES:Resident size (kb) 常驻内存

SHR:Shared Mem size (kb) 共享内存

S:Process Status 进程状态

%CPU:cpu使用率

%MEM:内存使用率

TIME+:进程开始运行时使用cpu的总时间

COMMAND:进程运行的命令

在top状态下按f可以查看表头字段说明。

3、常用的命令:

top -b -n 60 -d 60 > /home/cputxt

该命令每隔60秒会将服务器运行状态保存到一个文本文件,共运行60次,其实就是将服务器1个小时的运行状态保存起来。使用这个命令,可以记录服务器在繁忙时的负载情况,例如设置到晚上8点到9点之间,这样就可以根据服务器状态作出调整,而不是等服务器挂了才来处理。上面命令各参数,大家可以根据自己需要修改。终于不用加班蹲点观察服务器了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何查看linux服务器运行状态

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情