服务器内存占用高,重启后恢复
一、问题描述
某台Windows Server 2019的服务器部署在阿里云上,通过持续观察发现其内存使用率始终保持在90%以上,并且其中没有占用内存高的进程,重启服务器后,内存使用率降至低位,但在一周时间内再次增至90%以上,尝试增加服务器内存后,此问题依旧存在。
二、解决过程
1、查看内存使用情况:通过任务管理器的性能页查得非分页缓冲池有7.7G,其在正常情况下很少超过200-400MB。
2、使用RAMMap查看内存使用情况:下载并运行RAMMap64.exe,分析发现非分页缓冲池消耗了约8G内存,其它项基本正常。
3、使用Poolmon分析Nonpaged Pool(未分页缓冲池)具体被哪个程序占用:安装Poolmon工具后,按P键显示使用非分页缓冲池内存的进程标签,按B键以字节进行排序,发现大部分RAM由标签为FLTT的驱动程序占用。
4、查找与标签关联的驱动程序文件:使用findstr查找具体的驱动程序文件,获知是阿里巴巴服务组件。
5、查看进程:最终确定问题原因是进程名为Alibaba Enterprise Security Service component,服务名为EntSafeSvr,导致的内存使用率过高。
三、归纳
Windows计算机和服务器可能会遇到内存溢出问题,该问题是由于将数据存储在系统非分页缓冲池中的某个系统驱动程序泄漏而引起的,非分页缓冲池是操作系统内核和驱动程序使用的计算机RAM中的数据,它永远不会交换到磁盘(分页文件),始终只存储在物理内存中,较大的非分页缓冲池通常表明某些系统组件或设备驱动程序中存在内存泄漏。
四、相关问题与解答
问题1: 如何修改CentOS系统最大线程数?
答: 可以通过修改/etc/security/limits.d/20-nproc.conf文件中的nproc值来设置最大线程数,将nproc值设置为4096,然后重新登录服务器,执行ulimit -u命令查看最大线程数是否生效。
问题2: 如果因您未保存数据导致重启服务器后出现数据丢失等问题,阿里云是否会承担责任?
答: 不会,如果因未保存数据导致重启服务器后出现数据丢失等问题,阿里云不承担责任。
以上内容就是解答有关“服务器内存占用高 重启后恢复”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。