windows-------------两周2016-09-02

问题描述:explorer一直以38.8k的(峰值为77.5k)的速度规律性的读取IO,读取次数94/s。结果是一直占用cpu内核时间,引起页错误。没有内存变化,说明它一直没有读到需要的数据。不停的页错误,说明它不是读真实的物理设备,而是在读那俩个页。

问题分析:发起请求-----不在working set----引起page fault----kernel trap gate----1.若为硬fault,访问page backing store;2.软,不访问-----added to ws

由于无法加载page,使得线程循环请求。所以最简单粗暴的办法,就是关掉线程。

可疑线程如下:

1492    28    stobject.dll!CSysTray::SysTrayThreadProc
ntkrnlpa.exe!KiSwapContext+0x2f
ntkrnlpa.exe!KiSwapThread+0x8a
ntkrnlpa.exe!KeWaitForSingleObject+0x1c2
ntkrnlpa.exe!KiSuspendThread+0x18
ntkrnlpa.exe!KiDeliverApc+0x124
ntkrnlpa.exe!KiSwapThread+0xa8
ntkrnlpa.exe!KeWaitForSingleObject+0x1c2
win32k.sys!xxxSleepThread+0x192
win32k.sys!xxxRealInternalGetMessage+0x418
win32k.sys!NtUserGetMessage+0x27
ntkrnlpa.exe!KiFastCallEntry+0xfc
ntdll.dll!KiFastSystemCallRet
USER32.dll!NtUserGetMessage+0xc
stobject.dll!SysTrayMain+0x180
stobject.dll!CSysTray::SysTrayThreadProc+0x4f
kernel32.dll!BaseThreadStart+0x37

1424    5    SHLWAPI.dll!WrapperThreadProc
ntkrnlpa.exe!KiSwapContext+0x2f
ntkrnlpa.exe!KiSwapThread+0x8a
ntkrnlpa.exe!KeWaitForSingleObject+0x1c2
ntkrnlpa.exe!KiSuspendThread+0x18
ntkrnlpa.exe!KiDeliverApc+0x124
ntkrnlpa.exe!KiSwapThread+0xa8
ntkrnlpa.exe!KeWaitForSingleObject+0x1c2
win32k.sys!xxxSleepThread+0x192
win32k.sys!xxxRealWaitMessageEx+0x12
win32k.sys!NtUserWaitMessage+0x14
ntkrnlpa.exe!KiFastCallEntry+0xfc
ntdll.dll!KiFastSystemCallRet
USER32.dll!NtUserWaitMessage+0xc
Explorer.EXE!CTray::MainThreadProc+0x29
SHLWAPI.dll!WrapperThreadProc+0x94
kernel32.dll!BaseThreadStart+0x37

1604    1    BrowseUI.dll!BrowserProtectedThreadProc

学习资料

working set:the amount of memory  in a given time interval,effective use of caches。 the working set strategy prevents thrashing while keeping the degree of multiprogramming as high as possible. Thus it optimizes CPU utilization and throughput.

ws可以从data和code分,也可以从share跟private分。

ws特点:通过TLB定位,pageable,不含Address Windowing Extensions(AWE)以及large page allocations。相关函数GetProcessMemoryInfo、Get(Set)ProcessWorkingSetSizeEx、EmptyWorkingSet、VirtualUnlock、UnmapViewOfFile。在psapi.h中还发现了一个函数QueryWorkingSet,返回了ws中每个页的属性跟位置。常态操作它的是系统的memory manager。当working set被全部进程抛弃的时候,进入transition page状态,等待着重利用。

通过工具(E:\book\0code\working-set)读出结果如下(尚未完善,待续)

process:

进程除了自己的结构之外,子系统部分csrss.exe/win32k.sys分别在用户跟内核维护着对应的结构:CSR_PROCESS、W32PROCESS。参考链接http://forum.sysinternals.com/topic15457.html

时间: 2024-08-27 03:35:44

windows-------------两周2016-09-02的相关文章

全栈的好处:七天和两周

郑昀 最后更新于2016/10/17 之前提到过『2007年年底,时任阿里巴巴和中国雅虎CTO的吴炯给我们提出针对股票舆情的情感趋势分析方向建议后,我们两周时间就完成了前后端的开发,迅速上线』,有的同学说哎呀是不是太快了点儿?光是收集语料,收集领域新词,训练和优化,都需要好久呢. 还有更快的呢. 08年12月13日,受到刘未鹏在 TopLanguage 组<一个整合的阅读共享方案>帖子的启发,我有了一个 memeTracker mashup 的思路.问了一下周围人的看法,大家竟然觉得这思路不靠

快速部署Windows Nano Server 2016 Hyper-V虚拟机

在微软新发布的Windows Server 2016中除了Server Core和GUI版本外,还新增了一个为云端量身定做的Windows Nano Server版本,类似于Server Core,但是比Server Core显得更新的轻巧,更加的精简,仅有几百兆,当然对于OS所需要的安全补丁等也少得多. 对于Windows Nano Server 2016是支持部署在物理服务器或虚拟化平台上的.目前的Nano Server的部署方式不同于Server Core或GUI版本,并没有传统的安装向导

【英语学习】2016.09.11 Culture Insider: Teacher&#39;s Day in ancient China

Culture Insider: Teacher's Day in ancient China 2016-09-10 CHINADAILY Today is the 32nd Chinese Teacher's Day – a festival celebrating the 2,300-year tradition of respecting teachers and education in China. It's similar to the birthday of Confucius o

作者:周公 /// 首发地址:http://blog.csdn.net/zhoufoxcn/archive/2008/09/02/2864429.aspx /// 日期:2008-09-01

我们先看下面一段程序: public class Son:Father { public void Run0() { Console.WriteLine("Son.Run0"); } } class Program { static void Main(string[] args) { Father[] fatherList = new Father[2]; fatherList[0] = new Father(); fatherList[1] = new Son(); fatherL

Windows 10 周年版尝鲜

早在今年的 Build 大会上,微软就开始宣传最新的 Windows 10 周年版更新,炫了不少特技,直到昨天(2016/8/2 PST)才正式放出,相关新闻可以参考这里,正式的版本为 Version 1607,系统编译版本为 Build 14393.10. 文章来源:葡萄城产品技术社区 目前可以通过下面的多种方式开始更新: 1. Windows Update,面向所有用户,但是微软要分批初步推送,估计很多人不会立即刷到.你可以到"更新和安全"设置里 Roll up,幸运的话就可以看到

本两周学习总结

这两周主要再看源码,所以没什么好写的,但是绝大大多源码或者记录一些我觉得有意思的代码, 主要记录的有D3源码,date-fns,rx.js主要是需要后期看能不能看看源码,numjs,然后修改成两周更新一次,其他这样的更新其实也是保持新鲜感 this指向问题 function sumArgs() { return Array.prototype.reduce.call(arguments, (acc, val) => { return acc + val }, 0) } console.log(s

2016.09.21 公司裁员想到的

公司最近裁员,好多同事都走了. 想到了,不管在那里都要努力工作,成为该领域的专家,才能立于不败之地. 得之何喜,失之何忧. 加油,最好自己,无愧我心. 不断进步,不断上升 2016.09.21 晚 于北京朝阳

我的2015年读书计划,也是每两周读完一本书!

上周看到一篇文章,说Facebook CEO 马克·扎克伯给自己的2015年定下了一个新的挑战,每两周就要读完一本书(传送门:戳这里).想了一下,我自己也很久没看书了,所以今年要改变一下,给自己定一个和马克同样的计划,并且我也把这个计划公告天下,一方面激励我自己,另一方面希望大家监督我.鞭策我! 上周我开始了我的计划(博客今天才写),不过完整的26本(365天 ÷ 7天/周 ÷ 2周看完一本=26本书)书单,我还真的没能列出来,所以大家如果有好书推荐,请在评论里留言,我将感激不尽! 一.2015

java反射详解 (转至 http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html)

本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象获得完整的包名和类名 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package Reflect; /**  * 通过一个对象获得完整的包名和类名  * */ class Demo{     //other codes... } class hello{     pu

Windows Storage Server 2016 (x64) 中文版下载地址!

Windows Storage Server 2016 (x64) 中文版下载地址! 1.Windows Storage Server 2016 (x64) - DVD (English)  文件名 en_windows_storage_server_2016_x64_dvd_9327790.iso SHA1 3F136FE5C44BCE158E5F044121E43438FDA058E5 文件大小 4.26GB 发布时间 2016-10-12 ed2k://|file|en_windows_s