更新:
我确定Process Explorer本身 – 我用来debugging性能问题的程序 – 似乎是问题的原因 。
请参阅注释,并在最后提供更新的问题。
我正在从启动EBS卷运行一个大功率(cc2.8xlarge)Amazon AWS EC2 Windows实例,该启动EBS卷的configuration为2500 PIOPS,它是从以前的启动卷的快照创build的。
我的目的与实例是使用它作为一个开发工具,安装了许多开发工具,如Visual Studio,本地XAMPP堆栈等,我有超过40个程序安装在机器上。
这个实例作为一个开发机器的可用性通常很好。 RDP滞后足够小。 我已经使用了它几个小时,没有问题,我的一些最紧张的发展任务。
因此,我刚刚购买了一个保留的实例,并且select使用Windows Server 2012 AMI从头开始重build我的开发计算机。
在过去一周安装了所有我想要/需要的应用程序以后,这台机器似乎经常运行良好,而且我一次工作长达一个小时,没有任何问题,而且开发工作很繁重。
但是,我仍然遇到了灾难性的操作系统可用性问题,这可能使我无法将这台机器作为开发机器。 如果有一个容易识别的来源,我想追查问题的根源。 ( 更新 :我已经追踪到源程序是Process Explorer ,我用来debugging这个问题的程序,查看更新结束。)
问题如下。 (这些是一些主要的例子)
某些应用程序在经过一段适当的响应之后突然开始非常缓慢地响应基本的用户界面操作,例如单击菜单并按Ctrl-Tab以在打开的文档之间切换。 两个例子是UltraEdit和PhpEd。 通常需要约2秒才能显示菜单,并且在打开的文档之间切换约4秒钟。 另外,编辑器中的插入点运动滞后大约2秒。
用于帮助debugging问题的Process Explorer似乎可以运行几分钟,但多次Process Explorer本身完全挂起。 它与上述问题同时挂起。 当它挂起时,它是100%无反应。 点击它的任务栏图标既不会使其到达顶部,也不会到达其后部,其可视区域除了部分包含纯白色的区域以外,并且部分包含不可读取的不完整的窗口小部件,并且永远不会改变。 等待10分钟不能解决问题。 尝试通过右键单击其任务栏图标并select“closures窗口”来强制退出Process Explorer需要大约5分钟的时间才能退出(Process Explorer本身不能用于退出Process Explorer,并将其注册为任务pipe理器替代)。
其他程序在这段时间内工作得很好。 例如,Chrome浏览器快速来回翻转,菜单即时打开,网页加载速度快,在浏览器中input表单/networking应用程序时也能及时运行。 应用程序的另一个清晰工作的例子是Filemaker – 它的菜单立即打开,并且在这个应用程序中切换视图立即发生。 其他应用程序也没有问题。 而且,应用程序之间的切换也会很快发生。
只有less数应用程序performance出这个问题,上面给出了一些主要的例子。
起初我以为EBS IOPS可能是一个问题。 因此,我运行了性能监视器,并实时观看“磁盘传输/秒”监视器。 这项措施从来没有像任何一个接近达到EBS卷configuration的2500 PIOPS的水平。
RAM也低于极限(在60GB中使用了约10GB)。
我注意到在有问题的时期, 一个 CPU内核(32个逻辑内核)在100%(即〜3.1%)内完全颠簸。 这似乎表明,单个CPU内核正在处理打开的文档(仅用于某些应用程序)/pipe理Process Explorer用户界面之间的菜单/翻转,并且在出现问题的时间段期间,出于某种原因,此单个内核已被解决。
另外请注意,我有一个桌面工作站(Windows 7),我也用它作为开发机器,通过远程连接,安装了几乎相同的一组程序,而且这个桌面工作站没有出现我讨论过的任何问题以上。 现在我已经使用了一年多了。
任何关于问题的来源,或者我可能采取的步骤来调查问题的根源的任何build议,将不胜感激。 谢谢。
注意 :经过广泛的testing和调查后,我注意到当我退出Process Explorer时 ,问题消失,系统性能恢复正常,然后再次运行Process Explorer时又快速出现(注意:性能问题只出现在应用程序的一个子集 – 其他应用程序在同一时期完美地工作)。
因此,我的问题(幸好)更为具体: 为什么Process Explorer在高功率的EC2 Windows实例中导致某些应用程序(包括它本身)和基本UIfunction的高度针对性失败?