Solaris11: 많은 메모리 사용

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 명령을 사용하면 대부분의 "ram eat" 프로세스가 144M의 RAM을 사용하지만 690M의 RAM만 사용 가능하다는 것을 알 수 있습니다. 이는 약간 이상합니다. 심지어 다른 RSS 프로세스를 세어봐도 여전히 시스템이 더 많은 RAM을 사용하는 방법을 이해할 수 없습니다. 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=활성 영역이 있지만..실행되지 않습니다.

답변1

@Fox가 의견에서 지적했듯이 ZFS는 기본적으로 IO를 캐시하기 위해 여유 메모리를 사용합니다. 다양한 조정이 있지만 Solaris 11에서 ZFS 성능을 향상시키는 기능을 추가하므로 Solaris를 업그레이드하는 것만으로도 도움이 될 수 있습니다. 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

또한 데이터 세트에 중복 제거를 사용하면 상당한 양의 메모리를 사용하게 됩니다.

관련 정보