सोलारिस 10 पर स्मृति के बारे में एक और सवाल।
एक शीर्ष मुझे दिखाता है कि मेरे पास 672 एमबी मुफ्त मेमोरी है:
130 processes: 126 sleeping, 2 zombie, 2 on cpu
CPU states: 95.1% idle, 3.9% user, 1.0% kernel, 0.0% iowait, 0.0% swap
Memory: 16G phys mem, 672M free mem, 2048M total swap, 2023M free swap
एक vmstat मुझे वही दिखाता है:
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr rm s0 s1 s2 in sy cs us sy id
0 0 0 564744 687896 3 13 0 0 0 0 0 0 0 0 0 354 667 752 1 1 98
लेकिन जब मैं एक prstat -a -s आकार करता हूं तो मुझे यह मिलता है:
NPROC USERNAME SWAP RSS MEMORY TIME CPU
45 orbixadm 1449M 1592M 9.7% 4:46:53 0.4%
48 root 146M 160M 1.0% 8:09:49 1.2%
3 user1 46M 204M 1.2% 0:00:45 0.0%
9 webservd 46M 14M 0.1% 0:00:00 0.0%
5 ctxsrvr 28M 32M 0.2% 4:54:51 0.0%
11 user2 23M 34M 0.2% 0:00:37 0.2%
4 user3 4840K 11M 0.1% 0:00:01 0.0%
1 smmsp 1456K 4552K 0.0% 0:00:24 0.0%
2 daemon 2128K 6224K 0.0% 0:06:32 0.0%
1 user4 1232K 3608K 0.0% 0:00:00 0.0%
1 nagios 376K 2472K 0.0% 0:15:18 0.0%
और जैसा कि आप देख सकते हैं, RSS मानों का योग 15GB मेमोरी तक नहीं पहुंचता है, और भले ही मैं इसमें SWAP मान जोड़ता हूं।
तो मेरा सवाल यह है कि मैं किस आज्ञा को मानता हूं?
यदि शीर्ष और vmstat मुझे अच्छा परिणाम देते हैं, तो मेरी 15GB उपयोग की गई मेमोरी कहाँ हैं? यदि नहीं, तो वे मुझे क्यों दिखाते हैं?
संपादित करें: आदेश के लिए परिणाम: % echo ::memstat | mdb -k
Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 1687138 13180 82%
Anon 137110 1071 7%
Exec and libs 47107 368 2%
Page cache 95277 744 5%
Free (cachelist) 22248 173 1%
Free (freelist) 69592 543 3%
Total 2058472 16081
Physical 2055442 16058
2 संपादित करें:
ठीक है, अब मैं एआरसी कैश द्वारा उपयोग की जाने वाली मेमोरी देख सकता हूं।
लेकिन कुछ नए परीक्षणों के साथ, अब मेरे पास है:
2066 MB used
( prstat -Z और echo :: memstat | mdb -k परिणाम)
1193 MB free
( शीर्ष परिणाम)
8859 MB ARC cache
( kstat zfs :: arcstats: size result)
जो हमें अधिक या कम 12 GB
स्मृति देते हैं, जबकि मेरी प्रणाली है 16 GB
।
शायद मैं कुछ और याद कर रहा था, लेकिन दूसरे कहां हैं 4 GB
?
kstat zfs::arcstats:size
अपने प्रश्न में आउटपुट जोड़ें ।