精华内容
下载资源
问答
  • 但是打开任务管理器,会看到这个进程的句柄数在不断增加,明明调用了close方法和deletelater,还是这样。 这个socket的运行的线程不在主线程,是单独的线程。 有人知道是什么原因,应该怎么处理吗?谢谢了
  • 输入进程的PID,在任务管理器中可以添加PID列即可查看到,然后输入要监控的间隔。启动后即可监控,停止后会在程序目录生成一个日志。
  • 任务管理器中看到javaw.exe的句柄数能说明什么问题? 是对象的引用吗?进程的句柄?还是其它?
  • // 句柄数持续增加,某个时刻结果为(656K,224K,604,1) case 3:runtest(do_mapping);break; // 一直维持在(656K,224K,7,1) case 4:runtest(do_file);break; // 一直维持在(656K,224K,8,1) case 5:runtest(do_...

    以下代码在XP+VS2008 DEBUG环境下测试:

     

    #include <stdio.h>
    #include <windows.h>
    
    typedef void (*PFNDo)();
    
    void runtest(PFNDo pfn) { while(1) { pfn();Sleep(100); } }
    
    void do_nop() { ; }
    void do_new() { int* p = new int[5]; }
    void do_event() { HANDLE hEvent = CreateEvent(NULL,FALSE,TRUE,NULL); }
    void do_mapping() { HANDLE hFile = CreateFileMapping(NULL,NULL,0,0,1024,"CHINA20130327CCTVTEST"); }
    void do_file() { HANDLE hFile = CreateFile("D:\\testfile",GENERIC_READ,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); }
    void do_thread() { ; }
    void do_process() { HANDLE hProcess = OpenProcess(0,FALSE,3092); }
    
    int main()
    {
    	//
    	// (内存使用,虚拟内存大小,句柄数,线程数)
    	//
    	unsigned int op = 1;
    	switch(op)
    	{
    	case 0:runtest(do_nop);break;	// 一直维持在(652K,224K,7,1)
    	case 1:runtest(do_new);break;	// 内存和虚拟内存持续增加,某个时刻结果为(700K,276K,7,1)
    	case 2:runtest(do_event);break;	// 句柄数持续增加,某个时刻结果为(656K,224K,604,1)
    	case 3:runtest(do_mapping);break;	// 一直维持在(656K,224K,7,1)
    	case 4:runtest(do_file);break;	// 一直维持在(656K,224K,8,1)
    	case 5:runtest(do_process);break;	// 一直维持在(660K,224K,7,1)
    	default:break;
    	}
    	return 0;
    }

    展开全文
  • 最近一二个月以来,我发现服务器的内存占用正按着每天60M的速度增加。 一台windows 2003的服务器(2G内存),刚刚启起时占用内存:600M左右。 运行20天后,内存占用(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

     

    名品推荐:思美登 马内尔 黛菲斯

    转载于:https://www.cnblogs.com/personnel/p/4583038.html

    展开全文
  • 今天对比服务器上和本地电脑上的“任务管理器”的显示情况,偶然发现它们之前的一个不同之处:“句柄数”: 服务器上的“句柄数”达到3万多个,而本地电脑上的“句柄数”只有1.6万个。 通过在百度搜索得知,句柄...

    原文链接:http://www.cnblogs.com/personnel/p/4583038.html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ————————————————————————————————————————————————————————

    2019年1月22日更新

    通过windows的计划任务和批处理程序配合,可以每5分钟重启一次占用句柄比较高的进程所属程序。

    展开全文
  • 查看进程占用的句柄数

    万次阅读 2018-04-01 14:56:49
    1、每个进程所能占用的句柄数是有上限的,如果程序打开文件、...2、linux下查看进程占用句柄数: ls -l /proc/进程ID/fd | wc -l3、win7查看占用句柄数任务管理器--进程---查看--选择列,勾选句柄。则可见下图:...

    1、每个进程所能占用的句柄数是有上限的,如果程序打开文件、socket等,但是不关闭,并且频繁的做这样的操作,那么可能导致进程占用的句柄数超过显示,程序会异常崩溃,或产生打不开文件、socket的操作。

    2、linux下查看进程占用句柄数: ls -l /proc/进程ID/fd | wc -l

    3、win7查看占用句柄数:

    任务管理器--进程---查看--选择列,勾选句柄。则可见下图:


    展开全文
  • 任务管理器和内存泄露紧密相关的只有两项,一个是内存使用率,一个是当前句柄数。 方法分别如下: 1,内存泄露的方法: 打开任务管理器,此时要减少电脑或虚拟机上其它类型的活动程序,尽量保证查看到的参数和...
  • 运行自己的程序,进行各种操作,并查看任务管理器中GDI对象和句柄数的变化。 如果在某次可逆操作中,例如,弹出一个对话框,然后关闭,GDI对象或句柄数先增加了,然后减少了,但是总量还是增加了,说明存在内存泄露...
  • 任务管理器-性能中各项的意义

    千次阅读 2012-03-27 10:19:28
    任务管理器-性能中各项的意义 总数:句柄数,线程数,进程数 物理内存(k):总数,可用数,系统缓存,  内存使用:总数,限制,峰值,  核心内存:总数,分页数,未分页,  PF使用 都是什么意思? ...
  • 任务管理器(PF使用率)不断的增加:关注句柄数(转) 查看所有进程的句柄数,发现xxfm.exe进程的句柄数有3万多,其他进程都是最多的也就是900句柄。 之后结束xxfm.exe进程 然后重启nigx,服务器内存由1.5...
  • 检查调试句柄泄漏

    千次阅读 2016-05-04 15:58:25
    Windows任务管理查看句柄数 ...process explorer 中双击指定进程打开进程的properties窗口,切换到performance标签页,可以看到比任务管理器更详细的统计数据。 包括Handles/peak Handles/GDI Handles/USER
  • 句柄泄漏调试经验

    千次阅读 2017-01-23 11:38:17
    在调试之前首先确定是不是真的发生了句柄泄漏,简单的检测方法是通过任务管理器来查看进程的句柄数是不是居高不下,任务管理器默认不显示句柄数,要查看进程的句柄数需要先切换到进程选项卡,然后单击“查看”菜单,...
  • 1.进程列表:包括进程的各种信息,如线程个、CPU占用率、内存使用大小、进程优先级、exe文件信息…… 2.系统信息:如CPU曲线、内存曲线、PF曲线…… 3.DLL列表 4.句柄列表(有错误) 5.用户空间情况 6.设置进程...
  • 上一篇文章介绍了句柄的基本概念,也描述了C#中...句柄可以代表的Windows对象分为三类,内核对象(Kernel Object)、用户对象(GDI Object)和GDI对象,上一篇文章中任务管理器中的“句柄数”、“用户对象”和“GDI...

空空如也

空空如也

1 2 3 4 5
收藏数 97
精华内容 38
关键字:

任务管理器句柄数