Windows安全日志导致环境内存占用过高

Windows 环境内存占用高不释放,目前遇到的常见情况如下:

情况一:JVM内存泄漏

这种网上的排查方式有很多,自行查阅即可

情况二:SQLserver内存配置过大

这种也是,从网上查找修改方式然后修改即可

情况三:Windows安全日志导致

今天主要讲讲这种情况的排查过程及原因。

首先是从任务管理器查看内存占用,会发现内存占用是90%,但是将详细信息的内存加起来是没有到达这个占比的。

那问题来,内存去哪了,被吃了?接下来给大家推荐一个分析工具(RAMMap64.exe)

在这里插入图片描述

启动工具后,我们可以看到如下现象:

在这里插入图片描述
第一行:Process Privabe:这个和我们任务管理器详细信息部分中的内存占用总和应该差不多,没问题
第二行:Mapped File: 这个是什么?看着着占用有点高呀! 先问问AI
在这里插入图片描述

重点:Mapped File 是加到内存中的!

那么好,接下来再通过RAMMap64看看,Mapped File都是些什么(下面这个截图是要点到工具的Physical Pages 才能看到哈):

在这里插入图片描述

可以看到Mapped File对应的好多文件都是windows下的security文件,应该和操作系统安全相关。

从事件查看器中查看安全属性:

在这里插入图片描述
在这里插入图片描述

破案了,可以看到,这个文件竟然设置了9个多G,这加载到内存里,能不高嘛。

解决方案:

要解决,很简单也很直接,直接改小就行了。

BUT,有些环境对这个日志是有要求的,必须要保留一段时间;如果是这样,那就不能改小了,扩容内存即可。

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!关于Windows上MySQL服务器的高内存占用问题,有几个常见的原因和解决方法可以尝试。 1. 查看配置文件:确保MySQL的配置文件(通常是my.ini或my.cnf)中没有设置过大的缓冲区大小。较大的缓冲区会导致MySQL占用更多内存。你可以尝试适当调整这些缓冲区的大小,然后重新启动MySQL。 2. 查询语句和索引优化:高内存占用可能是由于执行查询语句效率较低而导致的。检查查询语句是否存在性能问题,例如数据量过大、未使用索引等,可以通过优化查询语句和创建适当的索引来改善性能,减少内存占用。 3. 定期清理和优化表:MySQL中的表可能会产生碎片或者过多未使用空间,导致内存占用增加。定期执行OPTIMIZE TABLE命令可以对表进行优化和碎片整理,减少内存占用。 4. 调整缓冲区设置:根据服务器的可用内存和数据库的负载情况,适当调整MySQL的缓冲区设置,例如innodb_buffer_pool_size、key_buffer_size等。这样可以平衡内存使用和性能需求。 5. 检查后台进程和连接数:某些后台进程或者过多的连接可能会占用大量内存。检查是否有不必要的后台进程运行,或者减少并发连接数,可以降低内存占用。 以上是一些常见的解决方法,你可以根据具体情况进行尝试。如果问题仍然存在,可以考虑查看MySQL的日志文件以获取更多详细的错误信息和性能指标,以便进一步定位和解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值