win2000內存工具
4. 內存快照
這個工具可以將所有內存資源的消耗情況寫進一個日志文件中, 供以后分析使用,有點類似"快照"的方式.日志文件使用的默認名字是MeMSNap.log,當然在建立這個日志文件時,也可以用其它你認為合適的名字。在win98和CW2KP中,系統(tǒng)信息中都有一個和這個工具的作用類似的程序:Dr Watson,俗稱“系統(tǒng)快照”。Win98中的Dr Watson功能過于簡單,到了CW2KP中,Dr Watson的功能大大加強,特別是對出錯程序列出的信息很詳細,如果使用得當,對付出錯程序的效果還是理想的.至于顯示出的信息,大部分都與CPU的寄存器和程序的堆棧有關,屬于底層信息,對一般用戶的參考價值不大。
MemSnap完整的語法為:
memsnap [-t] [-g] [-?] [logfile]
參數及說明:
-t :加入標記信息,包括格林威治時間、數據及計算機名稱。
-g:加入GDI和用戶資源的數目
logfile:指定用來寫如信息的日志文件名稱,默認的名稱是: Memsnap.log.
5. 內存監(jiān)視工具Poolmon.exe
這個工具可以監(jiān)視內存中總共使用的頁面數和非頁面的"內存池",以探測內存中有無"空洞"存在.內存中的所謂"空洞"是指:本來可供使用、但實際上并未使用的區(qū)域.減少空洞可以提高內存的使用效率,防止內存的浪費.與使用別的命令行程序不同,這個程序需要在加載運行之后才可以得到'在線'的提示幫助信息.另外,這個工具還需要一個叫做gflags的程序來配合,更麻煩的是程序gflags也像前面介紹的有些程序一樣,具有適應兩種環(huán)境的版本.這種互相交叉的用法使得不熟悉它們相互關系的人感到眼花繚亂.下面結合Poolmon.exe的使用,對二者都先介紹命令行的版本.
1、 在使用Poolmon.exe之前,必須先運行gflags.可以在“開始-$#@62運行”中鍵入cmd,點擊確定打開命令行窗口,(注意:本文中所有命令行程序都可以先用cmd打開一個類似Dos模式的窗口),然后在窗口中鍵入命令和參數,執(zhí)行該命令行程序:gflags -r +ptg 參數的含義到介紹gflags的GUI版本時再解釋.
2、 執(zhí)行后重新啟動計算機.
3、 重新啟動成功后,即可在命令行中執(zhí)行 poolmon,其語法如下:
poolmon [itag] [xtag] [switch]
參數及說明: itag :僅列出與內存池匹配的標記名字,標記名字中可以包含統(tǒng)配符?或*.
xtag :列出每個不與內存池匹配的標記名字,標記名字中可以包含統(tǒng)配符?或*.
參數后面還可以使用以下開關:
t :依據字母順序列表. p :依據內存池類型列表.
a :依據內存分配的大小列表.f: 依據自由內存列表.
d :依據分配和未分配之間的差異來列表. e :總合計列表.
b:依據使用的最大值列表 .m :依據分配的最大值列表.
L :對所顯示信息的那些行,背景顏色的控制開關,默認是開(即以不同顏色來顯示區(qū)別)
從我驗證的印象看,按照上述步驟執(zhí)行Poolmon 后,命令行窗口中以行列方式顯示關于內存的信息,每一行對應一個tag名,活動部分的Tag行背景顏色與非活動部分不同.至于這些行的先后順序和顯示行的總數,決定于所用的開關參數.
