CentOS 7基础操作02_优化Linux操作系统中的服务

news2024/11/17 1:31:10

1、实验环境

        公司在文件服务器中新安装了CentOS系统.由于默认启动的服务程序较多,系统运行缓慢。现需要对系绞服务进行适当优化,减少一些不必要的自启动服务.并设置系统在开机后直接进入字符模式。

2、需求描述

        根据实际使用需求对CentOS 7操作系统中的系统服务进行优化

3、推荐步骤

  • 设置Linux操作系统每次开机后自动进入字符模式界面
  • 使用ntsysv工具同时调整2.3.4.5运行级别中的服务状态,关闭下列服务:atd、bluetooth、mdmonitor、rhnsd、rpcgssd、postfix。
  • 使用systemctl工具调整个别服务的启动状态。
  • 将netwark服务、postfix服务在当前的target中设置为启动状态。
  • 查看当前系统中内存占用情况.重启并登录到字符模式,再次查看内存占用情况。
  • 使用init命令切换到图形模式,再次确认运行目标并查看内存占用情况,比较优化服务前后及在不同运行级别中的差异。

4、实验步骤

4.1、查看系统target

        早期Linux操作系统中的SysVinit 机制.默认包括七种不同的服务搭配方式,其中每一种搭配方式称为运行级别.类似于 Windows系统中的正常启动、安全模式、不带网络连接的安全模式等,这些运行级别分别使用数字0,1,….6来表示。为了向下兼容SysVinit系统,Systend使用了相应的target (目标)模拟了SysVinit的运行级别.表1-2中列出了运行级别所对应的target,并说明了各种target的含义及用途。

表1-2                 Systemd的目标与SysVinit的运行级别

运行级别Systemd的target说明
0target关机状态,使用该级别时将会关闭主机
1rescue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护
2multi-user.target用户定义/域特定运行级别。默认等同于3
3multi-user.target字符界面的完整多用户模式,大多数服务器主机运行在此级别
4multi-user.target用户定义/域特定运行级别。默认等同于3
5graphical.target图形界面的多用户模式,提供了图形桌面操作环境
6reboot.target重新启动,使用该级别时将会重启主机

        明确当前系统所在的 target 将有助于管理员排除一些应用故障。若未能确知当前所处的目标,可以直接执行“runlevel”命令进行查询,显示结果中的两个字符分别表示切换前的目标,当前的目标,若之前尚未切换过运行级别.则第1列将显示”N“,命令如下:

[root@blab ~]# runlevel 
N 5

        若用户想查看系统启动时默认运行的target,可以执行“systemctl get-default”命令以显示系统默认的 target,命令如下:

[root@blab ~]# systemctl get-default 
graphical.target

4.2、切换系统的target

        当用户需要将系统转换为其他的target时,可以通过传统的init程序进行.只要使用与运行级别相对应的数字(0~6)作为命令参数即可,或者使用systemctl命令进行目标切换。例如.为了节省系统资源,将系统运行的target由图形模式(5)切换为字符模式(3),可以执行“init 3"或“systematlisolate multi-user , target命令,命令如下:

[root@blab ~]# init 3
[root@blab ~]# runlevel 
5 3

或者

[root@blab ~]# systemctl isolate multi-user.target 

        将系统切换到字符模式以后,图形桌面环境不再可用。这时按Alt+F7组合键也无法恢复图形桌面环境。需要再次使用图形桌面时,可以执行“init5”或者“systemctl isolate graphical target”命令切换回去。


4.3、使用ntsysv工具

        Linux操作系统在每次开机后会进入默认的systemd运行目标(如字符模式或图形模式).并运行该目标中默认设为启动的各种系统服务。若要禁止某些系统服务自动运行,可以使用ntsysv或者systemctl工具进行优化。

4.3.1、使用ntsysv工具

        ntsysv 工具可以在字符模式中运行,为用户提供一个仿图形的交互式操作界面,专门用于集中配置各种系统服务的启动状态。当需要同时设置多个服务的启动状态时.使用ntsysv工具会非常方便。

        单独执行"ntsysv”命令时仅用于管理当前运行目标中的服务;通过“--level”选项可以对指定运行目标(级别)中的服务进行管理。例如,执行“ntsysv --level 35”命令可以打开 ntsysv管理程序,如图1.11所示,同时对运行目标3.5中的各种系统服务的默认启动状态进行调整。

[root@blab ~]# ntsysv 

        操作时按↑.↓方向键来选择不同的系统服务.按Space(空格)键设置服务的默认启动状态(“[*]”表示启动.“[]”表示关闭)。如果要查看所选定服务的说明信息,按F1键可以获取帮助.


4.4、使用systemctl工具调整个别服务的启动状态

        systemctl工具与ntsysv的功能类似,但是systemctl不提供交互式的操作界面,它用于查询或设置系统服务的默认启动状态。当需要设置某一个服务在当前运行目标中的默认启动状态时,使用systemctl工具会更有效率。使用 systemctl工具控制服务开机启停的命令格式如下:

systemctl      [控制选项]        [服务名称]

常用的选项有以后几种:

  • enable:开机自动启动
  • disable:开机自动关闭
  • is-enable:查看开机启动状态
  • start(启动):运行指定的系统服务程序,实现服务功能
  • stop(停止):终止指定的系统服务程序,关闭相应的功能
  • restart(重启):先退出,再重新运行指定的系统服务程序
  • reload(重载):不退出服务程序,只刷新配置。在某些服务中与restart的操作相同
  • status(查看状态):查看指定的系统服务的运行状态及相关信息。

        例如.执行以下操作即可配置apache服务开机自动启动或关闭并查看开机启动状态。当 apache服务设置为开机自动启动时.在/etc/systemd/system/multi—user, target , wants/目录下面会出现一个文件名为 httpd,service的软连接文件.当apache 服务设置为开机自动关闭时,在/etc/systend/system /multi-user . target , wants/目录下面的httpd , service软连接文件就会被删除。

[root@blab ~]# systemctl enable httpd.service     //apache服务设置为开机启动
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@blab ~]# systemctl is-enabled httpd.service   
enabled
[root@blab ~]# systemctl disable httpd.service        //apache服务设置为开机关闭
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
[root@blab ~]# 
[root@blab ~]# systemctl is-enabled httpd.service 
disabled
[root@blab ~]# 

        在当前系统下执行”systemctl list-units --type=service“命令可以查看当前系统中所有已激活的系统服务,命令如下

[root@blab ~]# systemctl list-units --type=service      //查看所有以及激活的系统服务
UNIT                               LOAD   ACTIVE SUB     DESCRIPTION
abrt-ccpp.service                  loaded active exited  Install ABRT coredump hook
abrt-oops.service                  loaded active running ABRT kernel log watcher
abrt-xorg.service                  loaded active running ABRT Xorg log watcher
abrtd.service                      loaded active running ABRT Automated Bug Reporting Tool
atd.service                        loaded active running Job spooling tools

        例如,执行如下的“”操作可以启动尚未运行的postfix服务

[root@blab ~]# systemctl start postfix.service

        若要查看指定postfix服务的运行状态,只需将上述命令中的“start”改为“status”即可,若要停止 postfix服务,只需将“start”改为“stop”即可,具体命令如下:

[root@blab ~]# systemctl status postfix.service

[root@blab ~]# systemctl stop postfix.service       //停止postfix服务
[root@blab ~]# systemctl status postfix.service

        控制类型^restart”用在需要释放旧的资源全部从头开始的情况,它会先关闭相应的服务程序,然后重新运行.例如.当在网卡的配置文件中设置了新的IP地址以后,为了激活新的P地址,可以重新启动名称为network的系统服务,命令如下:

[root@blab ~]# systemctl restart network.service 

        对于在实际生产环境中运行的服务器,不要轻易执行stop或restart操作.以免造成客户端访问中断,带来不必要的损失。若只是要为系统服务启用新的配置,可以采用相对温和一些的reload参数重新加载配置,而不是生硬地执行“restart”。例如,对正在为用户提供Web访问的htpd 服务当需要应用新的配置时,建议执行“systemctl reload httpd.service”命令来重新载入配置,而不是执行“systemctl restart httpd.service
 

[root@blab ~]# systemctl reload httpd.service

4.5、查看当前系统中内存占用情况,重启并登录到字符模式,再次查看内存占用情况。

[root@blab ~]# cat /proc/meminfo | grep Mem
MemTotal:        2028112 kB
MemFree:          455940 kB
MemAvailable:    1593444 kB

        通过切换target的操作,还可以实现两个特殊的功能,那就是关机和重启。运行级别0.6分别对应关机、重启这两个特殊模式,因此只要执行“init0"与“init 6”命令就可以实现相应的关机.重启操作了,命令如下:

[root@blab ~]# init 0         //关闭当前系统
[root@blab ~]# init 6         //重启当前系统

4.6、使用init命令切换到图形模式,再次确认运行目标并查看内存占用情况,比较优化服务前后及在不同运行级别中的差异。

[root@blab ~]# init 3

查看内存状态

[root@blab ~]# cat /proc/meminfo | grep Mem
MemTotal:        2028112 kB
MemFree:         1036824 kB
MemAvailable:    1599044 kB

内存使用量相对图形化界面少了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1717027.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++第二十二弹---vector深度剖析及模拟实现(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、容量操作 2、内容修改操作 3、打印函数 4、迭代器失效 4.1、什么是迭代器失效 4.2、哪些操作会引起迭代器失效 总结 1、容量操作 size()…

【Docker】宝塔创建Docker容器配置nginx

前言 本篇是我入门docker的第一篇,由于docker具有很好的移植性,易于安装,开箱即用;签约的公司项目开发需要我进行学习,否则money减半,5555~ 百度找了一圈,只有关于docker怎么装宝塔服务器的却没…

从Socket到WebSocket

前言 不知道大家在学习网络编程的时候都是怎样的一种方式,我谨以此文章来记录我自己从头开始学习C网络编程时的经历,中间有许多我自己的一些想法和思考。当然作为一个刚开始学习的新手来说,有些内容也许不那么正确,只是代表了我在…

【Qt知识】Qt Creator快捷键

以下是Qt Creator中的一些常用快捷键列表(持续更新): 基本编辑 多行注释/取消多行注释: Ctrl /编译工程: Ctrl B运行工程: Ctrl R整行上移/下移: Ctrl Shift ↑/↓查找: Ctrl F函数声明和定义切换: F2向下查找: F3头文件和源文件切换:…

SAPUI5基础知识3 - 引导过程(Bootstrap)

1. 背景 在上一篇博客中,我们已经建立出了第一个SAPUI5项目,接下来,我们将为这个项目添加引导过程。 在动手练习之前,让我们先解释一下什么引导过程。 1.1 什么是引导过程? 在计算机科学中,引导过程也称…

苹果如何设置自动循环壁纸?这几种不同的方法你要学会

在使用手机的时候,我们可能会经常更换手机壁纸,遇见好看或者有意义的图片时就想将其设置为壁纸,你知道 iPhone 手机可以设置自动循环壁纸吗?如果你不了解下面就带你一起看看 iPhone 手机如何设置壁纸自动循环。 壁纸程序设置 想…

GIS之arcgis系列06:线划图缓冲区分析

缓冲区工具将在输入要素周围指定距离内创建缓冲区面。 缓冲区例程将遍历输入要素的每个折点并创建缓冲区偏移。 通过这些偏移创建输出缓冲区要素 原理: 01.打开文件 02.确定单位,在文件属性里。 03.工具箱-->分析工具-->邻域分析-->缓冲区。 …

藏汉翻译通小程序——你口袋里的藏语翻译助手!支持高精度藏文OCR文字识别提取,安卓iPhone手机都能用的藏汉翻译小助手!

想要快速学习藏语或者与藏族朋友无障碍沟通吗?藏汉翻译通小程序绝对是你的不二之选! 这款小程序不仅界面简洁、操作便捷,更重要的是它集合了多种实用功能于一身。 双语翻译:无论你是藏族还是汉族,只需输入文字&#…

C#中的实体属性详解与示例

文章目录 实体属性的定义实体属性的访问实体属性的示例总结 在C#中,实体属性是面向对象编程的重要组成部分。实体属性允许我们定义对象的特征和行为,并提供了一种方式来访问和管理这些特征。通过实体属性,我们可以封装对象的状态,…

【Linux】Linux基本指令3

目录 1.date指令 2.cal指令 3.find指令:(灰常重要) -name 4.grep指令——行文本过滤工具 5.zip/unzip指令: 6.tar指令(重要):打包/解包,不打开它,直接看内容 7.bc…

OSPF学习笔记(状态机)

1、邻居关系 OSPF设备启动后,会通过OSPF接口向外发送Hello报文,收到Hello报文的OSPF设备会检查报文中所定义的参数,如果双方一致就会形成邻居关系,两端设备互为邻居 2、邻接关系 形成邻居关系后,如果两端设备成功交…

Spring boot集成通义千问大模型

Spring boot集成通义千问大模型 背景 我在用idea进行java开发时发现了通义灵码这款免费的智能代码补全插件,用了一段时间了,感觉很不错。就想着在自己的项目中也能集成通义千问大模型实现智能回答,毕竟对接openai需要解决网络问题&#xff…

[学习笔记]知乎文章-PyTorch的Transformer

参考资料: PyTorch的Transformer register_buffer的作用是:登记成员变量,它会自动成为模型中的参数,随着模型移动(gpu/cpu)而移动,但是不会随着梯度进行更新。 参考资料:【Torch API…

【云原生】kubernetes中pod的生命周期、探测钩子的实战应用案例解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

向量数据库引领 AI 创新——Zilliz 亮相 2024 亚马逊云科技中国峰会

2024年5月29日,亚马逊云科技中国峰会在上海召开,此次峰会聚集了来自全球各地的科技领袖、行业专家和创新企业,探讨云计算、大数据、人工智能等前沿技术的发展趋势和应用场景。作为领先的向量数据库技术公司,Zilliz 在本次峰会上展…

Pont在小程序开发的使用

Pont是一个很好的前后端桥,但是有个问题。默认产生的代码,无法支持微信小程序开发。根本原因是因为使用了window给全局的对象注入了API和refs属性,由于小程序没有window属性,当然就无法使用了,解决办法也比较简单。只需…

轻松入门:HTML网页制作指南 进阶篇

一.表格标签 1.1表格的主要作用 表格不是用来布局页面的,而是用来展示数据的。 1.2基本语法 <table><tr><td>单元格内的文字</td>...</tr>...</table>说明&#xff1a; 1.<table> </table> 是用于定义表格的标签。 2.<t…

Iphone自动化指令每隔固定天数打开闹钟关闭闹钟(一)

注意&#xff1a;因为是第一次用iphone的快捷指令&#xff0c;不是很明白&#xff0c;所以之后多次运行发现有bug&#xff0c;所以快捷指令部分在下一章重新写&#xff0c;我用两个日期测试了&#xff0c;没问题&#xff0c;这一章可以当做熟悉快捷指令的一些操作用&#xff0c…

【协议开发系列】梳理关于TCP和UDP两种协议的区别和使用场景

起源 前二天项目上在核对外部对接服务的五元组列表的时候&#xff0c;有一位客户提问对于同样的服务同时支持tcp和udp二种方式&#xff0c;有什么优点和缺点&#xff0c;应该如何选择&#xff1f;这个问题突然让我愣了一下&#xff0c;确实好久没有“温故”了&#xff0c;相关…

【哈希】用哈希桶封装unordered_map unordered_set

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; C进阶 &#x1f389;其它专栏&#xff1a; C初阶 | Linux | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解 用哈希桶封装 unordered_map & unordered_set 的相关内容。 如…