服务器内存占用不断的增加 & 任务管理器(PF使用率)不断的增加:关注句柄数

最近一二个月以来,我发现服务器的内存占用正按着每天60M的速度增加。

一台windows 2003的服务器(2G内存),刚刚启起时占用内存:600M左右。

运行20天后,内存占用(PF使用):1.8G

其实物理内存使用情况在这20天来并没有太大的变化,但虚拟内存占用明显在不停的增加。

我通过“任务管理器”一直也找不到是哪个进程占用的这么多的内存。

也许是因为“任务管理器”里显示的内存占用仅代表的是“物理内存占用”吧。

今天对比服务器上和本地电脑上的“任务管理器”的显示情况,偶然发现它们之前的一个不同之处:“句柄数”:

服务器上的“句柄数”达到3万多个,而本地电脑上的“句柄数”只有1.6万个。

通过在百度搜索得知,句柄一般包括文件句柄、窗口句柄等。

我在想,服务器为什么会有这么多的句柄呢,到底又是什么类型的句柄?

我们在“任务管理器”上切换到“进程”选项卡,然后点击菜单“查看”->“选项列”,选择其中的“句柄计数”,然后看到下面的这个:

原来是 360tray.exe 的“句柄数”达到1.4万多个。

我在服务器上完全退出360(点击退出的时候,整个过程可能需要等20秒),然后看到服务器上的内存使用(PE使用率)马上降下来了:

以后我再也不用每隔一个月重启一下服务器了,只需每隔一个月重启一下360就行了。

最后我想说的是,关于服务器的内存占用不断增加的原因其实有很多种,而我遇到的只是其中之一吧。

2011-03-30

时间: 2024-10-13 04:02:27

服务器内存占用不断的增加 & 任务管理器(PF使用率)不断的增加:关注句柄数的相关文章

服务器内存占用导致死机原因

最近,服务器经常死机. 1.第一步,登录服务器用top命令查看.内存占满了.2.第二步,观察,一共16G的内存,内存占用,每天增加6G.3.第三步,缓存区的内存占比很大. 用命令free -g 5 或free -m 5即每5秒观察内存情况. 为了永久释放该内存.我编辑了这个文件.在/etc/sysctl.conf文件中配置:vm.drop_caches=1/2/3,然后sysctl -p生效! 然后再写了一个定时脚本.(应该是写了这个脚本就不用改上面的配置,但为了保险,我还是两种方法都用上了.如

游戏服务器内存占用动态调整

最近游戏在腾讯平台上线,已经快破200组,以前是一台机器可能就放一两组游戏区内存绰绰有余,只要没发生内存泄漏,也就没去关心. 但现在为了节约成本,我们会尽量一台虚拟机上放尽量多的游戏区.所以我们默认放了4个区(每个区占用6G,共24G),还有放了logger 服,gate,flash,redis等应用, 发现只要服务器维护后快一星期左右,内存占用从原先的10几个G一路高歌猛进,直到占满内存 95%+,经常性收到监控邮件,内存又不足了,甚至引发OOM killer. 为什么人数这么少了,内存占用还

服务器内存线性增长,根据句柄数查找问题进程

服务器修改成nignx+xxfm之后 访问速度变快了很多.但是服务器内存每天线性增长30M左右. 网上找了很多资料都不行.根据这篇文章服务器内存占用不断的增加 & 任务管理器(PF使用率)不断的增加:关注句柄数(转) 查看所有进程的句柄数,发现xxfm.exe进程的句柄数有3万多,其他进程都是最多的也就是900句柄. 之后结束xxfm.exe进程 然后重启nigx,服务器内存由1.58GG 变成了正常的960M. 以后只能每个月结束一次xxfm进程了.用windows想做到服务器几年不用操心还是

chrome浏览器tab页内存占用变大,网站变慢为哪般?

问题概述: 公司做的是BS应用. 之前我们的后台服务器程序是带状态的,用ehcache存储登录状态:这两天被我改成了redis存储,应用本身不再存储登录状态. 然后自测,我在测试某个很耗时间的网页操作的时候,发现第一次请求的时候还比较快(这个请求会开200个iframe出来,每个iframe内部还有2个ajax请求)(期间浏览器会向服务器发送了大概600个请求),耗时1分钟内: 然后第二次请求的时候,发现很多请求一直处于pending状态(chrome的开发者工具可以看),等待很久也出不来页面,

修改oracle内存占用

进入系统, 进入系统, # su oracle $cd $ORACLE_HOME $./sqlplus /nolog >connect / as sysdba; >show parameter sga; (查看内存占用情况) NAME TYPE VALUE ------------------------------------ ----------- ------------- lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max

C# WinForm应用程序降低系统内存占用方法总结

这篇文章主要介绍了C# WinForm应用程序降低系统内存占用方法总结,本文总结了9个方法,同时给出了一个定期清理执行垃圾回收代码,需要的朋友可以参考下 背景: 微软的 .NET FRAMEWORK 现在可谓如火如荼了.但是,.NET 一直所为人诟病的就是“胃口太大”,狂吃内存,虽然微软声称 GC 的功能和智能化都很高,但是内存的回收问题,一直存在困扰,尤其是 winform 程序,其主要原因是因为.NET程序在启动时,是需要由JIT动态编译并加载的,这个加载会把所有需要的资源都加载进来,很多资

为何我的LINUX服务器内存利用率很高?正确理解LINUX内存使用机制

今天有人告诉我说linux服务器上的内存快不够用了,128G的内存,马上要用光了.我吓了一跳,这台服务器上的应用现在负载很小啊,怎么利用率会很高呢.先用ZABBIX看了下,内存剩余空间还是很大的,还有117G的空余啊.然后又登陆到服务器上用再看下: [[email protected] ~]$ top top - 11:41:03 up 415 days, 1:06, 2 users, load average: 0.17, 0.12, 0.28 Tasks: 847 total, 1 runn

一步步优化JVM四:决定Java堆的大小以及内存占用

原文:http://blog.csdn.net/zhoutao198712/article/details/7783070 到目前为止,还没有做明确的优化工作.只是做了初始化选择工作,比如说:JVM部署模型.JVM运行环境.收集哪些垃圾回收器的信息以及需要遵守垃圾回收原则.这一步将介绍如何评估应用需要的内存大小以及Java堆大小.首先需要判断出应用存活的数据的大小,存活数据的大小是决定配置应用需要的Java堆大小的重要条件,也能够决定是否需要重新审视一下应用的内存需求或者修改应用程序以满足内存需

8年开发架构师浅析SpringBoot的JVM的内存占用与Docker-spring.io

JVM可能是一个复杂的野兽.值得庆幸的是,大部分复杂性都在幕后,我们作为应用程序开发人员和部署人员通常不必过于担心.随着基于容器的部署策略的兴起,需要引起注意的一个复杂领域是JVM的内存占用. 两种内存 JVM将其内存分为两大类:堆内存和非堆内存.堆内存是人们通常最熟悉的部分.它是存储由应用程序创建的对象的位置.它们一直存在,直到它们不再被引用并被垃圾收集.通常,应用程序使用的堆量将根据当前负载而波动. JVM的非堆内存分为几个不同的区域.我们可以使用HotSpot VM的本机内存跟踪(NMT)