Solaris
Solaris11:使用大量記憶體
使用取自本網站的腳本
#!/usr/bin/ksh # Available memory memory=`prtconf | grep Memory | head -1 | awk 'BEGIN {FS=" "} {print $3}'` gb_memory=`echo "scale=2; $memory/1024" | bc -l` # Free memory pagesize=`pagesize` kb_pagesize=`echo "scale=2; $pagesize/1024" | bc -l` sar_freemem=`sar -r 1 1 | tail -1 | awk 'BEGIN {FS=" "} {print $2}'` gb_freemem=`echo "scale=2; $kb_pagesize*$sar_freemem/1024/1024" | bc -l` # Used Memory gb_usedmem=`echo "scale=2; $gb_memory-$gb_freemem" | bc -l` # Conclusion echo "Avai Mem: $gb_memory GB" echo "Free Mem: $gb_freemem GB" echo "Used Mem: $gb_usedmem GB"
我看到使用了很多記憶體
Avai Mem: 7.25 GB Free Mem: .62 GB Used Mem: 6.63 GB
使用 top 命令我看到最“吃記憶體”的程序使用 144M 的記憶體,但只有 690M 的記憶體是免費的,這有點奇怪,即使計算其他 rss 程序我仍然不明白系統如何使用超過 4GB 的記憶體.
last pid: 15109; load avg: 0.08, 0.08, 0.07; up 2+00:33:21 15:25:40 88 processes: 87 sleeping, 1 on cpu CPU states: 94.4% idle, 1.3% user, 4.3% kernel, 0.0% stolen, 0.0% swap Kernel: 1031 ctxsw, 633 trap, 769 intr, 2053 syscall, 617 flt Memory: 7430M phys mem, 690M free mem, 1024M total swap, 1024M free swap PID USERNAME NLWP PRI NICE SIZE RES STATE TIME CPU COMMAND 879 root 17 59 0 209M 142M sleep 8:11 0.32% sstored 1267 root 43 59 0 129M 30M sleep 0:04 0.01% fmd 14774 root 64 59 0 90M 64M sleep 0:04 0.24% pkg.depotd 14810 root 64 59 0 90M 63M sleep 0:04 0.25% pkg.depotd 14792 root 64 59 0 87M 60M sleep 0:04 0.24% pkg.depotd 15 root 36 59 0 80M 47M sleep 1:23 0.67% svc.configd 13 root 14 59 0 39M 7272K sleep 0:07 0.01% svc.startd 1448 root 12 59 0 28M 7152K sleep 0:14 0.01% sysstatd 1483 _polkitd 6 59 0 25M 196K sleep 0:00 0.00% polkitd 1465 pkg5srv 27 59 0 24M 2228K sleep 0:00 0.00% httpd 4962 pkg5srv 27 59 0 24M 4672K sleep 0:00 0.00% httpd 1461 pkg5srv 27 59 0 24M 4032K sleep 0:00 0.00% httpd 1464 pkg5srv 27 59 0 24M 3516K sleep 0:00 0.00% httpd 1032 webservd 27 59 0 24M 3668K sleep 0:00 0.00% httpd 1045 webservd 27 59 0 24M 3484K sleep 0:00 0.00% httpd 1041 webservd 27 59 0 24M 3480K sleep 0:00 0.00% httpd 1458 pkg5srv 24 59 0 24M 4656K sleep 0:04 0.00% httpd 1012 webservd 18 59 0 23M 7620K sleep 0:04 0.00% httpd 280 root 11 59 0 23M 8360K sleep 0:00 0.00% rad 658 root 31 59 0 23M 5168K sleep 0:07 0.04% nscd 359 daemon 3 59 0 21M 4K sleep 0:00 0.00% colord 560 netadm 8 59 0 18M 4352K sleep 0:02 0.00% nwamd 838 root 3 59 0 18M 3064K sleep 0:00 0.00% zoneadmd 338 root 7 59 0 17M 10M sleep 0:02 0.00% devfsadm 4350 root 1 59 0 17M 4972K sleep 0:01 0.00% sendmail 1469 root 3 59 0 16M 3776K sleep 0:00 0.00% accounts-daemon
ps=有一個區域處於活動狀態,但是..沒有執行
正如@Fox 在評論中指出的那樣,預設情況下可能是 ZFS 使用空閒記憶體來記憶體 IO。有各種調整,但僅升級 Solaris 可能會有所幫助,因為它們添加了一些特性來幫助 Solaris 11 中的 ZFS 性能。參考 MOS 文件: Oracle Solaris 11.x中*ZFS 和應用程序之間的記憶體管理(文件 ID 1663862.1)*資訊和指導。
請參閱以下有關 Oracle 之外的一些 ZFS reco: https ://constantin.glez.de/2010/04/28/ten-ways-to-easily-improve-oracle-solaris-zfs-filesystem-performance/#ssdread
此外,如果您在任何數據集上使用 dedup,它將使用大量記憶體。