kylin-麒麟操作系统-安装内存泄露补丁-以及kylin-kms-activation.service服务不断重启解决思路

news2024/9/22 9:59:51

文章目录

  • 前言
  • 1. 问题现象
    • 1.1 使用`journalctl`命令查看更详细的日志信息
  • 2. 解决思路
    • 2.1 思路一:
    • 2.2 思路二:
    • 2.3 合理的解法:
  • 3. 扩展-修复内存泄露
    • 3.1 查看自己使用的镜像
    • 3.2 到麒麟官网下载相应的补丁包
    • 3.3 安装步骤
    • 3.4 重启kylin-kms-activation.service服务
  • 4. 麒麟相关资料手册

前言

who:本文写给想解决kylin-kms-activation.service服务不断重启。

what:主要分为问题现象、解决思路两个部分。

when:文档创建时间:2024年8月29日

where:作者-松鼠会吃榛子 版本v1

why:希望能帮读者了解这个问题,并了解麒麟操作系统官网,并能够自行查找资料。







1. 问题现象

银河麒麟高级服务器操作系统V10SP3(X86)kylin-kms-activation.service服务报错问题。

kylin-kms-activation.service服务是银河麒麟高级服务器操作系统中用于KMS(Key Management Service)激活的系统服务。该服务在系统中默认每30秒重启一次,如果服务无法正常加载,系统会报错,并且message日志会每30秒刷新一次。这表明该服务在系统中扮演着重要的角色,特别是在处理激活状态和与KMS服务器的通信方面。

KMS是一种由Microsoft提供的服务,用于在企业内部或教育机构内部管理大量许可证。该服务在系统中负责处理激活相关的任务,包括与KMS服务器的通信和激活状态的管理。



1.1 使用journalctl命令查看更详细的日志信息

journalctl -u kylin-kms-activation.service | tail -n 20

在这里插入图片描述

根据提供的日志内容,看起来是麒麟操作系统(Kylin OS)中的一个服务kylin-kms-activation.service遇到了问题。这个服务似乎在尝试启动时失败了,并且系统尝试了多次重启服务,但每次重启后都以相同的错误退出。

这里是一些关键点:

  1. systemd[1]: 这是麒麟操作系统中的初始化系统,负责管理服务的启动和停止。
  2. Stopped run kylin_kms_daemon at boot time.: 这表明kylin_kms_daemon服务在启动时被停止了。
  3. Started run kylin_kms_daemon at boot time: 这表明kylin_kms_daemon服务被尝试重新启动。
  4. kylin-kms-activation.service: Main process exited, code=exited, status=255/EXCEPTION: 这表明服务的主进程退出了,并且退出状态码是255,这通常表示发生了异常。
  5. Service RestartSec=30s expired, scheduling restart: 这表明服务的重启间隔时间(RestartSec)已经过期,系统正在安排重启服务。
  6. restart counter is at 3569: 这表明服务已经被尝试重启了3569次。




2. 解决思路

2.1 思路一:

步骤 1: 修改kylin-kms-activation.service服务文件

 vim  /usr/lib/systemd/system/kylin-kms-activation.service 

[unit]部分添加以下参数

# Manually added parameters
StartLimitInterval=180
StartLimitBurst=1

在这里插入图片描述

步骤2:重新加载服务配置。

systemctl daemon-reload

步骤3:重新启动服务,并检查状态。

systemctl restart kylin-kms-activation.service
systemctl status kylin-kms-activation.service

在这里插入图片描述

根据systemctl status命令的输出内容,kylin-kms-activation.service服务目前的状态是:

  • Loaded: 加载了服务定义,位于/usr/lib/systemd/system/kylin-kms-activation.service;服务已被启用(enabled);但供应商默认情况下是禁用的(vendor preset: disabled)。
  • Active: 服务当前是活跃的(active)且正在运行(running),自2024年8月29日14:30:35起运行,大约1秒前。
  • Main PID: 主要进程ID是285941,正在运行kylin_kms_daemo(注意这里可能有一个拼写错误,应该是kylin_kms_daemon)。
  • Tasks: 服务启动了2个任务。
  • Memory: 服务使用了1.1MB的内存。
  • CGroup: 服务所在的控制组(cgroup)路径。

从这些信息来看,服务似乎正在正常运行。

步骤4:要查看服务的最后30行日志。

主要看最后面的。

journalctl -u kylin-kms-activation.service -n 30

在这里插入图片描述

发现日志还是显示kylin-kms-activation.service不断重启,还报错Failed to start run kylin_kms_daemon at boot time.

步骤5:查看服务状态。

systemctl status kylin-kms-activation.service

在这里插入图片描述



2.2 思路二:

步骤 1: 修改kylin-kms-activation.service服务文件

 vim  /usr/lib/systemd/system/kylin-kms-activation.service 

[Service]部分修改第13行参数

# Modify the following line
Restart=failure

Restart=on-failure

在这里插入图片描述

步骤2:下面参考思路一:的操作来。

systemctl daemon-reload
systemctl restart kylin-kms-activation.service
systemctl status kylin-kms-activation.service
journalctl -u kylin-kms-activation.service -n 3

在这里插入图片描述

发现报exit-code



2.3 合理的解法:

步骤 1: 不动原来的配置。
在这里插入图片描述

步骤 2: 重新加载服务配置,重新启动服务。

systemctl daemon-reload
systemctl restart kylin-kms-activation.service
systemctl status kylin-kms-activation.service

在这里插入图片描述

步骤 3: 再查看服务日志。

journalctl -u kylin-kms-activation.service -n 3

在这里插入图片描述

系统已恢复到原来的情况。

==这个问题,具体是什么原因,目前还不知道。==如果有知道的技术爱好者可以私信我。

步骤 4: 使用top命令查看kylin_kms_daemo进程的状态。

top

在这里插入图片描述

  • PID: 104187 —— 这是进程的ID,是一个唯一的数字,用来标识系统中的进程。
  • USER: root —— 表示运行该进程的用户是root
  • PR: 20 —— 表示进程的优先级。数值越小,优先级越高。
  • NI: 0 —— 表示进程的nice值,也就是进程的相对优先级。nice值越小,进程的优先级越高。
  • VIRT: 29444 —— 表示进程使用的虚拟内存总量,单位是KB。
  • RES: 8400 —— 表示进程使用的物理内存(常驻集)大小,单位是KB。
  • SHR: 7268 —— 表示进程使用的共享内存大小,单位是KB。
  • S: 表示进程的状态。S代表中断睡眠状态(Interruptible sleep),进程正在等待某个事件的完成。
  • %CPU: 0.0 —— 表示进程在过去的一段时间内(通常是1分钟)所占用的CPU百分比。
  • %MEM: 0.1 —— 表示进程使用的物理内存占总内存的百分比。
  • TIME+: 0:00.02 —— 表示进程已经运行的总CPU时间,这里是0分钟和2秒钟。
  • COMMAND: kylin_kms_daemo —— 这是启动进程的命令。

根据这些信息,可以看出kylin_kms_daemo进程正在运行,占用的资源相对较少(0.1%的内存),并且在过去一段时间内几乎没有使用CPU(0.0%的CPU使用率)。所以,即便启动这个服务也不会占用太多资源。

步骤 5: 考虑不断产生日志会不会占用磁盘空间。

  • 查看日志文件位置
cd /var/log

在这里插入图片描述

cat命令查看ky*等几个文件,发现并没有跟kylin-kms-activation.service服务相关的日志文件。

  • kylin-kms-activation.service 文件加入日志文件存储的地方,以方便后期删除。
 vim  /usr/lib/systemd/system/kylin-kms-activation.service 
  • [Service]部分添加以下参数
StandardOutput=file:/var/log/kylin-kms-activation-service.log
StandardError=file:/var/log/kylin-kms-activation-service.err
  • 重新加载服务配置,重新启动服务。
systemctl daemon-reload
systemctl restart kylin-kms-activation.service
systemctl status kylin-kms-activation.service
  • 查看日志。

发现并没有相关日志出现
在这里插入图片描述

后面我改为原来的配置了,并在一台机器上停止了这个服务,一台机器上启动这个观察有什么变化。后续再看看是什么原因,也许可能本身这个服务就是这个吗设置的(苦笑)

systemctl stop kylin-kms-activation.service






3. 扩展-修复内存泄露

修复 libkylin-activation 软件包在 KMS 环境中的内存泄漏问题是一个很好的改进措施。

1.查看是否已安装kylin-kms-activation相关的软件包。

[root@localhost ~]#  rpm -qa | grep  libkylin-activation
[root@localhost ~]# 


3.1 查看自己使用的镜像

我已经清楚自己挂载的镜像是那一个。
在这里插入图片描述

如果你不清楚的话,可以用命令查看系统信息,再去官网对照。

[root@localhost ~]# nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Lance)

Kernel:
4.19.90-52.22.v2207.ky10.x86_64

Build:
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-x86_64-Build23/20230324
#################################################
[root@localhost ~]# 


3.2 到麒麟官网下载相应的补丁包

下载地址:KYBA-202309-1004 - 国产操作系统、麒麟操作系统——麒麟软件官方网站 (kylinos.cn)

注意:根据自己的操作系统版本下载。

在这里插入图片描述



3.3 安装步骤

1.用xftp上传到服务器中。

[root@localhost 桌面]# ls
libkylin-activation-3.0-64.p54.ky10.x86_64.rpm
[root@localhost 桌面]# 

2.安装。

注意:如果没有连接外网的话,需要用镜像设置本地仓库源。

[root@localhost 桌面]# dnf install -y libkylin-activation-3.0-64.p54.ky10.x86_64.rpm                       

3.检查是否已经安装。

[root@localhost 桌面]# rpm -qa | grep -i libkylin-activation-3.0-64.p54.ky10.x86_64
libkylin-activation-3.0-64.p54.ky10.x86_64
[root@localhost 桌面]# 


3.4 重启kylin-kms-activation.service服务

 systemctl restart kylin-kms-activation.service
 systemctl status kylin-kms-activation.service
 systemctl enable kylin-kms-activation.service






4. 麒麟相关资料手册

下载地址:资料下载 (kylinos.cn)

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

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

相关文章

python如何另起一行

python 字符串换行的三种方式: 第一种:三个单引号 print 我是一个程序员 我刚开始学习python 第二种:三个双引号 print """ 我是一个程序员 我刚开始学习python""" 第三种:\结尾 print "我是…

生成式AI,搜索赛道的又一个黄金十年

文|白 鸽 编|王一粟 随着生成式AI的发展,搜索引擎正在被重构,越来越多玩家开始布局AI搜索赛道。 一方面,传统搜索引擎/浏览器正借助AI技术的重构重新焕发生机,无论是移动端还是PC端,都在抢占…

GHA高质量原创文章是什么?

GHA文章是一种专为提高搜索引擎优化(SEO)效果而设计的高质量原创内容。GHA代表高质量,这些文章通过精心编写和策略布局,就是为了帮助网站迅速在Google等搜索引擎上获得排名,写一篇能在Google上获得高排名的文章&#x…

postman注入csrf

示例脚本 参数配置位置 必要参数 django项目仅需要设置domain即可,比如www.baidu.com,baidu.com尽量域名精确避免修改到其他域的参数 必须把这个domain添加到 cookies->Manage cookies ->Domains Allowlist 中,否则cookie的注入失败 代码 // 必…

P1516 青蛙的约会(exgcd)

一些前置知识: 1.扩展欧几里得算法: axbygcd(a,b) 方程一个可行的解(x1,y1)求法: int exgcd(int a,int b,int &x,int &y) {if(!b){x1,y0; return a;}int dexgcd(b,a%b,y,x);y-a/b*x;return d; }2.由axbygcd…

URP简洁的instance的写法

材质还是要开启enable instance,这是上一次的写法 https://dbbh666.blog.csdn.net/article/details/136644181 最近发现更适合我个人的习惯的写法 就是代码控制这个整个过程 C#代码是这样的,获取一个mesh,获取每个mesh的transform&#xff0c…

UE5 摄像机图像采集到材质 映射到 UI 和 物体表面

一.创建SceneCapture2D的组件 二.创建用于 映射的 贴图 三.将RenderTarget贴图放到SceneCapture2D的摄像机上Scene Capture的TextureTarget 四.这个时候的映射贴图,产生的材质可以直接。放到Plane上。 五,但是如果要用于UI,还需要更改SceneCapture2D的摄…

基于SpringBoot的在线答疑系统

你好呀,我是计算机专业毕业生,专注于在线教育平台的开发与实现。 开发语言:Java 数据库:MySQL 技术:Java技术 Spring Boot框架 工具:IntelliJ IDEA、Navicat、Maven、Tomcat 系统展示 首页 个人中心…

【Python】简单的数据类型——int、float、bool、str

目录 1. 整数类型 int 2. 浮点数类型 float 3. 布尔类型 bool 4. 字符串 str 5. 格式化输出 6. 类型转换 6.1 隐式类型转换 6.2 显示类型转换 7. 标准输入 1. 整数类型 int a 10 print(type(a)) print(type(-2))<class int> <class int>测试整型能表示的…

docker私有云仓库Harbor部署及使用

文章目录 一、前置准备1、安装docker、docker-compose 二、安装harbor1、下载Harbor2、证书3、配置文件4、安装5、docker使用6、k8s使用&#xff08;1.28版本containerd&#xff09; 三、常用运维1、重启 一、前置准备 1、安装docker、docker-compose centos7安装与卸载docke…

2024年【道路运输企业安全生产管理人员】考试题库及道路运输企业安全生产管理人员考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年道路运输企业安全生产管理人员考试题库为正在备考道路运输企业安全生产管理人员操作证的学员准备的理论考试专题&#xff0c;每个月更新的道路运输企业安全生产管理人员考试试题祝您顺利通过道路运输企业安全生…

牛客NC313 两个数组的交集 C++

牛客NC313 两个数组的交集 C 思路&#x1f914;&#xff1a; 用哈希表存储第一个数组&#xff0c;再和第二个数组对比&#xff0c;对比成功就添加到新的数组中&#xff0c;之后将哈希表的该位置变为false&#xff0c;防止重复添加。这里数据范围仅有1000&#xff0c;所以我们可…

Windows10系统中安装Maven 3.8.8的步骤

Windows10系统中安装Maven 3.8.8的步骤 1、前提 因已安装好了JDK17,需要安装跟JDK17对应的版本,选了maven3.8.8 2. 下载 Maven 访问 Apache Maven 官网下载页面。选择下载:apache-maven-3.8.8-bin.zip 3、解压缩 4、增加系统环境变量 MAVEN_HOME =C:\hmf\apache-maven…

cppbase阶段汇总

第一章 C与C 本章主要讲解C相较于C一些独有的比较重要的知识点。 C源文件后缀名&#xff1a;.cc或.cpp 头文件后缀名&#xff1a;.hh或.hpp 安装g命令&#xff1a;sudo apt install g 编译命令&#xff1a;g filename.cc [-o name] 首先从C的 hello,world 程序入手&#xff0c…

【C++笔记】类和对象的深入理解(一)

【C笔记】类和对象的深入理解(一) &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】类和对象的深入理解(一)前言一.类的定义1.1类定义格式1.2访问限定符1.3类域 二.实例化2.1 实例化概念2.2对象大小 三.this指针四.练…

8月29日wpf

小语 折磨我们的往往是想象&#xff0c;而不是真实。 学wpf 7.07 1.vs如何创建新项目&#xff1f; 退出&#xff0c;创建新项目&#xff0c;点c#&#xff0c;windows&#xff0c;进入界面 2.app.config在哪里&#xff1f; 好像只有这个。。。 试一下&#xff0c;不是 我…

CSS基础 什么是盒模型

是什么 当对一个文档进行布局&#xff08;layout&#xff09;的时候&#xff0c;浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型&#xff08;CSS basic box model&#xff09;&#xff0c;将所有元素表示为一个个矩形的盒&#xff08;box&#xff09; 一个盒子由四个部分…

【YOLO系列】YOLO算法改进史

目录 前言YOLOv1YOLOv2YOLOv3YOLOv4YOLOv5YOLOv6YOLOv7YOLOv8YOLOv9YOLOv10对比待更新 前言 YOLO&#xff08;You Only Look Once&#xff09;是一种革命性的目标检测算法&#xff0c;以其快速和高效的性能而闻名。自2015年YOLOv1的首次推出以来&#xff0c;YOLO系列已经经历了…

Kali的相关学习、永恒之蓝漏洞(MS17-010)、ms12-020漏洞(蓝屏攻击)

学习任务 熟悉kali网络配置&#xff0c;nat模式和桥接模式 熟悉nmap使用 熟悉msfconsole使用 熟练掌握如何利用ms17-010&#xff0c;ms08_067 kali网络配置 资料&#xff1a;07-网络安全-kail linux 网络配置&#xff08;基础篇&#xff09; - Jaoany - 博客园 (cnblogs.…

[mysql]Navicat_SQLyog_dbeaver等mysql图形工具的安装和使用

mysql图形工具 虽然我们说学习mysql我们要学会基本的在linux里学习的指令&#xff0c;但是即便如此我们也可以利用工具的卸载&#xff0c;不一定非要用命令行&#xff0c;工具的作用就是给我们操作用的&#xff0c;显的很牛非得命令行&#xff0c;没有必要。常用的图形化管理工…