高分问两个问题:1.内存与最小化;2.修复PerfMon

时间:2023-01-11 23:06:56
1.在WINDOWS下,最小化到底对内存做了什么?一个程序new了10M内存,最小化后内存就被放在了虚拟内存里,任务管理器上看到了就是假象了.怎么才能看到实际使用的内存呢?还有,SQL Server的内存看上去好像一直在增加,为什么啊?难道它不需要释放么?LINUX下又如何监视内存呢?用top看到的是实际使用的内存吗?
2.我的PerfMon打开后,添加计数器,性能对象中为什么看到的是数字啊?而且没有计数器可选,怎么修复PerfMon啊?

7 个解决方案

#1


up

#2


最小化 就是进程跑到后台而已 ...
有切换到虚拟内存上么??

#3


有啊,你自己试一试.

#4


不太清楚楼主的意思,最小化似乎不像楼主所说的那样工作。

#5


up

#6


不会没人知道吧?555555555

#7


最小化和程序放到虚拟内存没有什么直接的关系。
首先,Windows中所有程序都run在虚拟内存空间。搂主可能指的是map到硬盘的那部分虚拟地址。其实,一个程序所占据的内存,如果不是频繁的使用,它很有可能被交换到硬盘上去,page table会记录这些变化。一个程序被最小化,如果他始终频繁的访问内存,它的虚拟地址就还是大可能被交换出去,仍然对应着物理内存。
SQL Server有其自己的内存管理,因为频繁的释放申请内存会对性能造成影响,它会在某个时机集中释放闲置内存。

#1


up

#2


最小化 就是进程跑到后台而已 ...
有切换到虚拟内存上么??

#3


有啊,你自己试一试.

#4


不太清楚楼主的意思,最小化似乎不像楼主所说的那样工作。

#5


up

#6


不会没人知道吧?555555555

#7


最小化和程序放到虚拟内存没有什么直接的关系。
首先,Windows中所有程序都run在虚拟内存空间。搂主可能指的是map到硬盘的那部分虚拟地址。其实,一个程序所占据的内存,如果不是频繁的使用,它很有可能被交换到硬盘上去,page table会记录这些变化。一个程序被最小化,如果他始终频繁的访问内存,它的虚拟地址就还是大可能被交换出去,仍然对应着物理内存。
SQL Server有其自己的内存管理,因为频繁的释放申请内存会对性能造成影响,它会在某个时机集中释放闲置内存。