现在计算机技术飞速发展,新技术层出不穷,前两年才买的机器,现在就已经处于淘汰的边缘。这样,我们势必要对计算机进行升级。
一般来说,影响系统性能最大的是处理器和内存,我们需要升级它们其中之一,或是两者都升级。具体方案怎样,必须有待于我们找到影响计算机性能的瓶颈,对这个瓶颈进行升级,才是最有效的。在windows 2000里面利用MMC我们可以轻松做到这一点!MMC的全称是Microsoft Management Console,它是Windows 2000中的一个集成管理环境。我们可以向其中添加任何网络、计算机、服务及其他系统组件的管理工具,从而构成特定的管理平台去完成特定的任务。
一、构建MMC
·计算机基本知识·常见计算机密码的设置与解除·让计算机启动更快的十五招·计算机密码的安全设定技巧·利用C#重启远程计算机·VC++实现计算机并口的数据采集·活捉黑客:黑客诱捕之计算机蜜罐技术·提高计算机性能的4种方法·办公室中掌控全局,远程唤醒计算机·国家标准:电子计算机机房设计规范
1. 从开始菜单打开“运行”对话框(或直接按Win+R),输入命令mmc。将出现一个MDI式样的控制台窗口(图1)。选择菜单项“控制台→添加/删除管理单元”,在弹出的对话框(图2)中选“添加”按钮。
2. 在“添加独立管理单元”对话框中选定“性能日志和警报”(图3),并点击“添加”按钮将其送入“添加/删除管理单元”对话框中。这里要指出的是,图3所示的窗口正是我们可以使用的管理工具的宝库(比如我的电脑中的所有工具如图4),我们可以使用任何微软公司本身附带的管理工具,甚至可以使用我们自己编的ActiveX控件,只要它符合COM接口标准就行。
3. 接下来我们添加一个ActiveX控件:System Monitor Control。它的作用是将计数器日志产生的实时数据以图表的形式动态显示出来。类似于第2步,在“添加独立管理单元”中选择“ActiveX控件”,这时会出现一个向导,按照它的提示选择“下一步”并等待几秒钟后,出现所有ActiveX控件的列表(图5),选定控件类别为“所有类别”,然后在控件类型列表框中选择“System Monitor Control”,并选择“下一步”。在出现的对话框中,输入为控件取的名字,比如“内存使用状况”,当然名字在建好了之后还是可以改的。类似地,再建一个名叫“处理器使用状况”的“System Monitor Control”。然后关掉“添加/删除管理单元”对话框。
4. 好了,这一阶段的工作完成,我们该保存一下结果了。选择菜单项“控制台→保存”,将我们的工作保存为“My控制台.msc”。
二、添加关于监视内存瓶颈的日志及计数器
·计算机基本知识·常见计算机密码的设置与解除·让计算机启动更快的十五招·计算机密码的安全设定技巧·利用C#重启远程计算机·VC++实现计算机并口的数据采集·活捉黑客:黑客诱捕之计算机蜜罐技术·提高计算机性能的4种方法·办公室中掌控全局,远程唤醒计算机·国家标准:电子计算机机房设计规范
[1] [2] [3]
1. 在控制台中选中“计数器日志”,然后在详细资料窗格的空白处按下鼠标右键,选择“新建日志设置”,并在随后出现的对话框中输入名字,比如“内存瓶颈”(图6),选择确定之后,马上就会出现一个设置日志的对话框(图7)。选择“添加”按钮,出现“选择计数器”对话框(图8),我们可以选择如下计数器:
Memory\ Pages/sec(说明:这表示在图8的对话框中“性能对象”选Memory,计数器列表选Pages/sec,下同。)
Memory\ Page Reads/sec
Memory\ Transition Faults/sec
Memory\ Pool Paged Bytes
Memory\ Pool Nonpaged Bytes
Paging File\ % Usage\_Total
Cache\ Data Map Hits %。 在图7中还有一个数据采样间隔的设置,这要考虑监视的总时间长度。如果监视不超过四个小时,则每 15 秒更新一次比较合理;如果监视时间达八个小时或更长时间,则设置的间隔不要小于 300 秒。将更新间隔设置为速率较快(数值小)会增加运行“计数器日志”的开销,同时也会生成大量的数据造成难于处理。当然,如果你的CPU够快,硬盘够大,你也可以把这个值设得很小以获得更准确的实时数据。
·计算机基本知识·常见计算机密码的设置与解除·让计算机启动更快的十五招·计算机密码的安全设定技巧·利用C#重启远程计算机·VC++实现计算机并口的数据采集·活捉黑客:黑客诱捕之计算机蜜罐技术·提高计算机性能的4种方法·办公室中掌控全局,远程唤醒计算机·国家标准:电子计算机机房设计规范
2. 在图7所示的对话框中选中“日志文件”选项卡,可以在这里设置关于保存记录文件的众多选项(图9)。建议将“文件名结尾”选中,并选定为“yymmddhh”,这表示将在文件名后自动加上启动日志时的“年月日小时”,可以方便我们日后查看。其他设置的建议值如图9所示。
3.在图7所示的对话框中选中“计划”选项卡,建议的设置值见图10。
4.按下图7所示对话框的“确定”按钮,我们就得到了一个可以用来监视内存使用状况的计数器日志“内存瓶颈”。
三、添加关于监视处理器瓶颈的日志及计数器
其步骤以及设置大致与“内存瓶颈”日志相同,所添加的计数器为:
Process\% Processor Time\(*) (说明:*表示“所有实例”)
Processor\Interrupts/sec\_Total
System\Context Switches/sec
System\Processes
System\Processor Queue Length。
其中的Process\% Processor Time\(*)计数器有必要做进一步说明。这个计数器会自动记录当前所有进程的处理器时间。但是如果在计数器已经启动之后,又运行新的程序或者退出原来的程序,那么在这些程序启动以及退出的时间范围附近,其对应的Processor Time计数器会很不正常,有时候甚至不可思议的达到215261%。所以,要正常监视一个程序的Processor Time,应该先运行这个程序,然后再启动计数器。此后,你不管是退出程序还是启动程序,一般都不会使数据造成很大误差了。
四、查看结果
首先要启动自己定义的计数器日志,方法很简单:选中要启动的日志,然后按下工具栏上的启动按钮(一个右向的三角形箭头)。这时对应日志的图标会变成绿色。
有一点要强调指出的是,日志启动后对应的记录文件会重新开始,也就是说,如果先前已经有一个同样名字的记录文件,那么其中的内容将会全部丢失。这也正是我先前建议文件名加上“yymmddhh”后缀的原因,因为这样可以尽可能地保证不丢失数据。另外,如果日志正在运行时更改其数据采样间隔,也会导致记录文件重新开始,所以当日志启动后尽量不要更改它的设置。 当我们启动日志监视一段时间后,我们就可以得到一个.blg文件。下面以内存瓶颈日志为例来看怎样利用System Monitor Control来显示这个.blg文件中的数据。请注意进行以下操作时无需停止计数器日志。
·计算机基本知识·常见计算机密码的设置与解除·让计算机启动更快的十五招·计算机密码的安全设定技巧·利用C#重启远程计算机·VC++实现计算机并口的数据采集·活捉黑客:黑客诱捕之计算机蜜罐技术·提高计算机性能的4种方法·办公室中掌控全局,远程唤醒计算机·国家标准:电子计算机机房设计规范
[1] [2] [3]
1. 在控制台树中选定“内存使用状态”控件,右边的详细资料窗格出现系统监视器的界面(如图1)。首先使用工具条上的“查看日志文件数据”按钮选择要查看的. blg文件(本文中是C:\PerfLogs\内存瓶颈_2001102016.blg)。然后使用工具条上的“添加”按钮加入计数器,当然这里只有在 “内存瓶颈”日志中定义的计数器才可以供我们选择。
2. 图2显示的是静态的曲线,并不会自动显示“内存瓶颈”日志的实时数据,我们必须手动刷新曲线。方法是首先从右键快捷菜单中选中“属性”,弹出“系统监视器属性”对话框,然后在“来源”选项卡中选中数据源为“当前活动”,“应用”一下,接着重新选回“日志文件”,并点一下“时间范围”按钮,最后“应用”一下就OK了。顺便说一下,当数据量超过了窗口显示范围时,我们可以通过拖动那个滚动条来方便地选择要查看的数据的范围。
五、结果分析
确切地说,对于计数器日志结果的分析是一个很值得研究的问题,本人才疏学浅,以下所说的难免有错误,希望能起到抛砖引玉的作用。
1. 图2是内存记录的结果。图中白色曲线是Paging File\ % Usage\_Total计数器的值,它是用百分比表示的正在使用的页文件数量,微软给的阀值为99%,也就是说如果这个值经常大于99%,你就要考虑加大虚拟内存或扩充物理内存了。可以看到我的平均值为35%,因此有约60%的虚拟内存是浪费的。再来看Memory\Pages/sec计数器的值,它是指解析错误从磁盘读取或写入磁盘的页数,微软给的阀值为20。可以看到我的平均值约为5,这说明我的内存表现是相当好的。这一点也可以由Cache\ Data Map Hits %计数器得到证实,这个计数器是表示系统每次无需从磁盘中取数据,而直接从物理内存中一取就中的“取中率”,我的这个值基本上为99%上下,因此也证实了我的内存应该是充足的。
·计算机基本知识·常见计算机密码的设置与解除·让计算机启动更快的十五招·计算机密码的安全设定技巧·利用C#重启远程计算机·VC++实现计算机并口的数据采集·活捉黑客:黑客诱捕之计算机蜜罐技术·提高计算机性能的4种方法·办公室中掌控全局,远程唤醒计算机·国家标准:电子计算机机房设计规范
2. 图3是处理器记录的结果(没有包括Process\% Processor Time\(*)计数器)。图中白色曲线是System\Context Switches/sec计数器的值,它表示每秒处理器从一个线程转换到另一个线程处理的次数。我的平均值为1219,应该是一个很大的值,因为想一想机器中总共能有多少线程啊!再来看System\Processor Queue Length计数器的值,它表示在处理器列队中等待的线程数,如果处理器列队中总是有两个以上的线程通常表示处理器堵塞,微软建议的阀值为2。而我的平均值就达到5.5,最大时甚至达到10,尽管这是我不断运行各种程序折磨CPU的后果,但是如此多的等待线程充分说明了处理器已经是不能胜任了。
3. 图4是处理器记录中的Process\% Processor Time\(*计数器的结果(由于这一计数器数据太多,所以单独列出来)。这个计数器表示某个线程使用处理器时间的百分比。白色曲线属于相对来说峰值较大的Acrobat Reader,其峰值也只是达到了53%,处理器大部分时间是Idle的。这应该是Windows 2000的多任务特性造成的,这一特性不允许某一个线程独自占用太多的CPU时间。结合图3的结果,我们可以看到这种多任务的代价是平均1219次每秒的线程转换数。
小结:通过以上一系列的步骤以及对记录结果的分析可以看出,作为例子的计算机的内存应该是足够的(事实上也大致如此),同时虚拟内存好像设多了一点;而CPU则是有点太为难它的意思了。你的计算机怎么样呢?
(出处:http://www.sheup.com)
[1] [2] [3]
2. 图3是处理器记录的结果(没有包括Process\% Processor Time\(*)计数器)。图中白色曲线是System\Context Switches/sec计数器的值,它表示每秒处理器从一个线程转换到另一个线程处理的次数。我的平均值为1219,应该是一个很大的值,因为想一想机器中总共能有多少线程啊!再来看System\Processor Queue Length计数器的值,它表示在处理器列队中等待的线程数,如果处理器列队中总是有两个以上的线程通常表示处理器堵塞,微软建议的阀值为2。而我的平均值就达到5.5,最大时甚至达到10,尽管这是我不断运行各种程序折磨CPU的后果,但是如此多的等待线程充分说明了处理器已经是不能胜任了。
3. 图4是处理器记录中的Process\% Processor Time\(*计数器的结果(由于这一计数器数据太多,所以单独列出来)。这个计数器表示某个线程使用处理器时间的百分比。白色曲线属于相对来说峰值较大的Acrobat Reader,其峰值也只是达到了53%,处理器大部分时间是Idle的。这应该是Windows 2000的多任务特性造成的,这一特性不允许某一个线程独自占用太多的CPU时间。结合图3的结果,我们可以看到这种多任务的代价是平均1219次每秒的线程转换数。
小结:通过以上一系列的步骤以及对记录结果的分析可以看出,作为例子的计算机的内存应该是足够的(事实上也大致如此),同时虚拟内存好像设多了一点;而CPU则是有点太为难它的意思了。你的计算机怎么样呢?
(出处:http://www.sheup.com)
[1] [2] [3] [4]
3. 图4是处理器记录中的Process\% Processor Time\(*计数器的结果(由于这一计数器数据太多,所以单独列出来)。这个计数器表示某个线程使用处理器时间的百分比。白色曲线属于相对来说峰值较大的Acrobat Reader,其峰值也只是达到了53%,处理器大部分时间是Idle的。这应该是Windows 2000的多任务特性造成的,这一特性不允许某一个线程独自占用太多的CPU时间。结合图3的结果,我们可以看到这种多任务的代价是平均1219次每秒的线程转换数。
小结:通过以上一系列的步骤以及对记录结果的分析可以看出,作为例子的计算机的内存应该是足够的(事实上也大致如此),同时虚拟内存好像设多了一点;而CPU则是有点太为难它的意思了。你的计算机怎么样呢?
(出处:http://www.sheup.com/)
[1] [2] [3] [4] [5]