一、軟件安裝系統環境: 1、系統硬件:SUN F280 solaris8 2、操作系統:#uname -a SunOS db1 5.8 Generic_117350-02 sun4u sparc SUNW,Sun-Fire-280R
二、 memtool軟件: 1、 軟件下載: 軟件最新版本:RMCmem3.9.4.tar.Z? 下載地址:http://www.solarisinternals.com/si/downloads/_memtool/ 2、 RMCmem3.9.4軟件支持版本: SPARC/Solaris 2.6 SPARC/Solaris 7 SPARC/Solaris 8 SPARC/Solaris 9 x86 /Solaris 8 x86 /Solaris 9
三、memtool軟件安裝: 1、解壓縮軟件: # uncompress RMCmem3.9.4.tar.Z # tar xvf RMCmem3.9.4.tar 2、軟件安裝: # pkgadd -d . RMCmem 注意:就在當前目錄下執行pkgadd,千萬不要到RMCmem下執行 pkgadd。 按照安裝提示,正確安裝軟件即可。 下面是安裝細節 Do you want to join the MemTool mailing list ? yes Enter your email address >
[email protected] Enter your name or company > mbi Do you want the kernel module loaded now? yes Do you want to install the module loader in /etc/rc2.d? yes 使用作為包的基本目錄 ## 正在處理軟件包信息. ## 正在處理系統信息. ## 檢查磁盤空間需求 ## 檢查同已經安裝的軟件包之間的沖突. ## 檢查setuid/setgid程序。 在這個軟件包中包含了正文程序,只有具有超級-用戶的權限才能在這個軟件包的安裝過程中執行它們. 要繼續安裝嗎? Yes 安裝The MemTool Package成為 手動load系統driver # /opt/RMCmem/drv/bunyipload 3、 memtool軟件卸載 #pkgrm RMCmem 4、 memtool可以手動安裝使用:(用pkgadd安裝不成功的情況下使用) #cd /eXPort/home/soft/mem/RMCmem/reloc/RMCmem/drv # ls 5.6 5.7 5.8 5.9 bunyipload bunyipunload # chmod 755 * # ./bunyipload 可以直接執行使用: #/export/home/soft/mem/RMCmem/reloc/RMCmem/bin/5.8/sparcv9 #./mem 在圖形界面下可以使用: #./memtool 5、memtool安裝目錄: memtool安裝根目錄:/opt/RMCmem/bin MEMTOOL軟件的安裝結束。
五、Memtool軟件使用: 注意:需要在PATH裡面加入/opt/RMCmem/bin/ 1、使用prtmem命令,檢查系統總內存和內存的分配使用情況: # prtmem Total memory: 1959 Megabytes Kernel Memory: 174 Megabytes Application: 961 Megabytes Executable & libs: 25 Megabytes File Cache: 290 Megabytes Free, file cache: 294 Megabytes Free, free: 211 Megabytes 2、使用mem命令,整個系統的性能監控,功能和top差不多。 #mem 3、使用pmem命令,檢查某一個進程的內存使用的細節: 從上面的命令可以發現,PID為2788的Java進程占用的內存資源比較大,我們可以詳細的使用pmem命令詳細的分析2788的內存分配和使 用。
# pmem 2788 2788: /app/jdk141_03/bin/java -client -Xms32m -Xmx200m -XX:MaxPermSize=128m Address Kbytes Resident Shared Anon Permissions Mapped File 00010000 40 40 40 - read/exec java 00028000 8 8 - 8 read/write/exec java 0002A000 54320 54128 - 54128 read/write/exec [ heap ] B87FC000 24 24 - 24 read/write [ anon ] B88FA000 32 32 - 32 read/write [ anon ] B89FC000 24 24 - 24 read/write [ anon ] 備注:這個命令和/usr/proc/bin/pmap –x命令的功能是一樣的。 4、使用memps命令可以監控節點的buffer cache緩沖內存: (The list of VNODE’s in the UFS buffer cache can be displayed with the memps) # memps -m more Size InUse E/F Filename 94592k 31944k F /db (inode 152073) 29968k 29504k F /app (inode 39502) 22920k 19992k F /app (inode 602679) 15264k 11848k E /export/home/Oracle/ora82/bin/oracle 14680k 16k F /tmp (inode 4555208) 11848k 7512k F / (inode 78955) 11576k 8k F /export/home (inode 5895) 11056k 0k F /export/home (inode 5891) 10664k 5136k F /export/home/soft/RMCmem3.9.4.tar 7240k 0k F /usr (inode 507730) 7168k 0k F /export/home (inode 1244920) 6360k 6328k F /var/sadm/install/t.contents 4944k 0k F /export/home (inode 5890) 4840k 512k F / (inode 371729) 4696k 3920k F /app (inode 107044) 4648k 1624k F / (inode 405755) 4360k 2696k F / (inode 405702) 3952k 680k F /db (inode 152068) 3888k 0k E /export/home/oracle/ora82/lib/libclntsh.so.8.0 3680k 0k F /usr (inode 281649) 3184k 8k E /usr (inode 237176) 3168k 2568k F /export/home/soft/RICHPse.tar 3016k 2640k E /app/jdk141_03/jre/lib/sparc/client/libjvm.so 3008k 1448k F / (inode 281713) 2808k 0k E /usr (inode 338009) 2680k 360k F /db/oradata/ora82/system01.dbf 2664k 0k F /digital/mydomain/applications/app.jar 2568k 0k F /export/home (inode 1244921) 5、使用prtswap命令可以監控,系統swap使用: # prtswap Virtual Swap: --------------------------------------------------------------- Total Virtual Swap Configured: 5627MB Total Virtual Swap Reserved: 1385MB Total Virtual Swap Free: (programs will fail if 0) 4242MB Physical Swap Utilization: (pages swapped out) --------------------------------------------------------------- Physical Swap Configured: 4096MB Physical Swap Free (programs will be locked in if 0): 4096MB 6、使用命令prtlibs,監控系統類庫使用內存: # prtlibs Library (.so) Memory: 3056 K-Bytes
六、MEMTOOL圖形工具 1、 memtool主界面: #./memtool& 2、Process Memory 可以顯示每個進程的詳細內存使用分配: 3、Process Matrix (可以顯示進程和映射文件的關系) 4、GUI Options(圖形界面下的一些選項,
可以自定義排序規則等)