麒麟系统 mate_indicators 进程占用内存资源高

2024-09-06 06:12

本文主要是介绍麒麟系统 mate_indicators 进程占用内存资源高,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

麒麟系统 mate_indicators 进程占用内存资源高

    • 问题描述
    • 影响版本
    • 触发条件
    • 问题分析
    • 问题影响
    • 问题修复
      • 临时解决方案
      • 永久解决方案

问题描述

桌面组件mate-indicators在长时间使用后发现有占用内存过高的情况,尤其是在某些用户场景,如频繁打开日历或不停点击日历等操作,会造成mate-indicators占用内存的迅速增长,且在长时间不操作的情况下,占用的内存不释放。

影响版本

影响版本
V10-SP1-0711及以后版本
V10-SP2-0524版本

触发条件

频繁打开日历或不停点击日历图形工具等操作

问题分析

从现象来看,mate-indicators在运行中未及时回收内存,长时间运行时,就出现了内存占用过高的现象。杀掉mate-indicators进程,重启后,发现占用内存显著降低,确定问题为内存泄漏。

进一步对比代码,定位问题出在indicator-calendar.cpp中的static gboolean update_time(IndicatorCalendar *d)此函数内。

此函数归属于日历与时间组件,主要负责桌面右下角的时间。跟踪代码发现,在此函数结束时,有多个资源未释放。
对未释放资源进行分析,主要由部分字符串和1个GSettings指针等占用组成。在短时间内现象并不明显,只有在长时间运行或者mate-indicators被频繁调用时,会出现明显的内存泄漏现象。

问题影响

长时间运行后,mate-indicators占用的内存会多达几个G

问题修复

临时解决方案

打开服务器客户端,输入 sudo systemctl restart lightdm 命令重启图形化服务可释放内存,解决 mate-indicators 进程占用高问题。

sudo systemctl restart lightdm

永久解决方案

升级mate-indicators至mate-indicators-20150918kord0ukui58-10.p07.ky10及以后版本。

这篇关于麒麟系统 mate_indicators 进程占用内存资源高的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141228

相关文章

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常