|
|
|
|
|
|
|
Windows内核调试
帖子发起人: Thomson 发起时间: 2010-03-01 00:27 上午 回复: 5
|
帖子排序:
|
|
|
|
2010-03-01, 00:27 上午
|
Thomson
注册: 2008-07-03
发 贴: 211
|
Kernel stack能不能被page out?
|
|
|
|
看,p786第一段结束,说2048 threads consumed 360 MB of actual physical memory with kernel stacks.
觉得有点奇怪,印象里面kernel stack应该也可以被page out啊.
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-03-01, 13:56 下午
|
Thomson
注册: 2008-07-03
发 贴: 211
|
Re: Kernel stack能不能被page out?
|
|
|
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-03-01, 21:55 下午
|
格蠹老雷
注册: 2005-12-19
发 贴: 1,303
|
Re: Kernel stack能不能被page out?
|
|
|
|
哪本书的P786页?是可以被page out,那句话可能是说没有page out的内核栈所占的物理内存吧
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-03-01, 22:41 下午
|
Thomson
注册: 2008-07-03
发 贴: 211
|
Re: Kernel stack能不能被page out?
|
|
|
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-03-01, 22:43 下午
|
Thomson
注册: 2008-07-03
发 贴: 211
|
Re: Kernel stack能不能被page out?
|
|
|
|
看来尖括号里面的内容不能正常显示出来, 书是 windows internals 5th edition 的第768页.
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2010-03-02, 20:57 下午
|
格蠹老雷
注册: 2005-12-19
发 贴: 1,303
|
Re: Kernel stack能不能被page out?
|
|
|
|
刚才看了一下这一段的上下文,写的明显有错误。
这一部分写的是栈(stack),这一节的标题是内核态栈。作者想表达的意思是内核态栈对系统内存的影响很大,会占用宝贵的内核态空间。但是表达的不太好,而且不知道为什么会算出2048个线程会用1GB的分页内存空间,360MB的物理内存。两个数字都不对啊。
按每个线程1MB用户态栈算,2048个线程会用2*1024*1MB=2GB;内核态栈即使不考虑分页与否,那么占用的物理内存即使按多算,按16KB(12KB加上PTE/PDE)算,那么只是:
16*210*2*210 = 32*220 = 32 MB
也就是32MB。
查了一下勘误表:
http://technet.microsoft.com/en-us/sysinternals/bb963901.aspx
还没有加入这个错误,所以LZ可以把这个问题报告给作者。我拿到书后就看了这一节的下一节,DPC Stack,也发现了一个错误,栈这一部分是Alex写的,看来年轻人还是需要时间走向成熟。
事实上,内核态的栈大小,还和CPU架构有关,这部分也没有提,完全就是当做x86的情况来写的...
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
高端调试 » 软件调试 » Windows内核调试 » Re: Kernel stack能不能被page out?
|
|
|
|
|
|