के बिना "कैश्ड" मेमोरी/कैश/मेमिनोफ़ो में "कैश्ड" मेमोरी को साफ़ करना मेरे पास एक एम्बेडेड सिस्टम है जो 2.6.10 लिनक्स कर्नेल (मुझे पता है!) चला रहा है और मैंने देखा है कि सिस्टम लंबे समय तक रहता है, "कैश "रैम का उपयोग - जैसा कि/proc/meminfo में देखा गया है - रैखिक रूप से बढ़ता है। कभी-कभी यह कुल रैम का 70% तक पहुंच जाता है और सिस्टम क्रैश हो जाता है।drop.caches
मुझे नहीं पता कि कम स्मृति स्थितियों के दौरान कर्नेल द्वारा इस स्थान को स्वचालित रूप से फिर से दावा क्यों नहीं किया गया था। मैंने सोचा कि "कैश्ड" स्मृति, हालांकि प्रयोग की जाती है, अभी भी आसानी से "उपलब्ध" माना जाता है।
कम से कम इस जगह को पुनः प्राप्त करने के लिए, मुझे drop_caches सेटिंग/proc/sys/vm/में tweak करना होगा। हालांकि, यह सुविधा केवल 2.6.16 कर्नेल में पेश की गई थी।
के बाद से क्या "कैश की गई" में है पेज कैश, फ़ाइल और inode कैश है, का एक बड़ा हिस्सा वहाँ किसी भी तरह से forefully drop_caches सुविधा के बिना उन्हें पुनः प्राप्त करने के लिए है? मैंने sync
की कोशिश की है, लेकिन इससे बिल्कुल मदद नहीं मिली।
मैंने इस बारे में बहुत कुछ किया है लेकिन कोई संसाधन नहीं मिला जो ड्रॉपकैच सुविधा पर भरोसा नहीं करता है।
संपादित करें:
a few other threads से सलाह के बाद, मैं एक परीक्षण है कि पर बोर्ड फ़्लैश विभाजन हर सेकंड के लिए लिखा था भाग गया और मैं दोनों dentry
और size-64
क्षेत्रों /proc/slabinfo
में बढ़ जाती हैं देखना (1 प्रति की दर से बैश स्क्रिप्ट का लूप)। हालांकि, मैंने Cached
स्मृति उपयोग में कोई वृद्धि नहीं देखी है।
अधिक जानकारी:
मैं उल्लेख करना चाहिए कि रूट निर्देशिका ही ramfs में है। मेरे पास एक फ्लैश चिप है जिसे हम पढ़ते/लिखते हैं, लेकिन बहुत बार। मैंने दुर्घटना से कुछ समय पहले meminfo और slabinfo चिपकाया है। ध्यान दें कि सक्रिय और कैश किए गए फ़ील्ड कुल उपलब्ध स्मृति से अधिक कैसे जुड़ते हैं!
MemTotal: 256708 kB
MemFree: 4896 kB
Buffers: 0 kB
Cached: 181892 kB
SwapCached: 0 kB
Active: 178140 kB
Inactive: 46496 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 256708 kB
LowFree: 4896 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
Mapped: 56656 kB
Slab: 11252 kB
CommitLimit: 128352 kB
Committed_AS: 175668 kB
PageTables: 908 kB
VmallocTotal: 737280 kB
VmallocUsed: 113084 kB
VmallocChunk: 624100 kB
slabinfo - version: 2.1
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <batchcount> <limit> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
rwsem_lock_cache 0 0 64 59 1 : tunables 120 60 0 : slabdata 0 0 0
rwsem_owner_cache 16 59 64 59 1 : tunables 120 60 0 : slabdata 1 1 0
rwsem_sap_cache 0 0 128 30 1 : tunables 120 60 0 : slabdata 0 0 0
pss_node_cache 0 0 32 113 1 : tunables 120 60 0 : slabdata 0 0 0
mts-sapinfo-cache 0 0 1152 7 2 : tunables 24 12 0 : slabdata 0 0 0
mts-sap-desc-cache 34 36 448 9 1 : tunables 54 27 0 : slabdata 4 4 0
mts-qentry-cache 5 59 64 59 1 : tunables 120 60 0 : slabdata 1 1 0
mts-rcpnt-cache 1 1 5568 1 2 : tunables 8 4 0 : slabdata 1 1 0
rpc_buffers 8 8 2048 2 1 : tunables 24 12 0 : slabdata 4 4 0
rpc_tasks 8 24 160 24 1 : tunables 120 60 0 : slabdata 1 1 0
rpc_inode_cache 0 0 416 9 1 : tunables 54 27 0 : slabdata 0 0 0
unix_sock 70 70 384 10 1 : tunables 54 27 0 : slabdata 7 7 0
tcp_tw_bucket 0 0 96 40 1 : tunables 120 60 0 : slabdata 0 0 0
tcp_bind_bucket 25 203 16 203 1 : tunables 120 60 0 : slabdata 1 1 0
tcp_open_request 2 59 64 59 1 : tunables 120 60 0 : slabdata 1 1 0
inet_peer_cache 4 59 64 59 1 : tunables 120 60 0 : slabdata 1 1 0
ip_fib_alias 23 203 16 203 1 : tunables 120 60 0 : slabdata 1 1 0
ip_fib_hash 23 113 32 113 1 : tunables 120 60 0 : slabdata 1 1 0
ip_dst_cache 34 45 256 15 1 : tunables 120 60 0 : slabdata 3 3 0
arp_cache 13 24 160 24 1 : tunables 120 60 0 : slabdata 1 1 0
raw_sock 8 8 480 8 1 : tunables 54 27 0 : slabdata 1 1 0
udp_sock 7 8 480 8 1 : tunables 54 27 0 : slabdata 1 1 0
tcp_sock 29 36 1024 4 1 : tunables 54 27 0 : slabdata 9 9 0
flow_cache 0 0 96 40 1 : tunables 120 60 0 : slabdata 0 0 0
cfq_ioc_pool 0 0 24 145 1 : tunables 120 60 0 : slabdata 0 0 0
cfq_pool 0 0 104 37 1 : tunables 120 60 0 : slabdata 0 0 0
crq_pool 0 0 52 72 1 : tunables 120 60 0 : slabdata 0 0 0
deadline_drq 0 0 48 78 1 : tunables 120 60 0 : slabdata 0 0 0
as_arq 4 63 60 63 1 : tunables 120 60 0 : slabdata 1 1 0
mqueue_inode_cache 1 8 480 8 1 : tunables 54 27 0 : slabdata 1 1 0
jffs2_inode_cache 24 145 24 145 1 : tunables 120 60 0 : slabdata 1 1 0
jffs2_node_frag 36493 36576 28 127 1 : tunables 120 60 0 : slabdata 288 288 0
jffs2_raw_node_ref 52018 52171 16 203 1 : tunables 120 60 0 : slabdata 257 257 0
jffs2_tmp_dnode 0 0 24 145 1 : tunables 120 60 0 : slabdata 0 0 0
jffs2_raw_inode 0 0 68 56 1 : tunables 120 60 0 : slabdata 0 0 0
jffs2_raw_dirent 0 0 40 92 1 : tunables 120 60 0 : slabdata 0 0 0
jffs2_full_dnode 36494 36540 16 203 1 : tunables 120 60 0 : slabdata 180 180 0
jffs2_i 13 24 328 12 1 : tunables 54 27 0 : slabdata 2 2 0
nfs_write_data 36 36 448 9 1 : tunables 54 27 0 : slabdata 4 4 0
nfs_read_data 32 36 448 9 1 : tunables 54 27 0 : slabdata 4 4 0
nfs_inode_cache 0 0 544 7 1 : tunables 54 27 0 : slabdata 0 0 0
nfs_page 0 0 64 59 1 : tunables 120 60 0 : slabdata 0 0 0
dnotify_cache 0 0 20 169 1 : tunables 120 60 0 : slabdata 0 0 0
kioctx 0 0 192 20 1 : tunables 120 60 0 : slabdata 0 0 0
kiocb 0 0 128 30 1 : tunables 120 60 0 : slabdata 0 0 0
fasync_cache 0 0 16 203 1 : tunables 120 60 0 : slabdata 0 0 0
shmem_inode_cache 169 170 384 10 1 : tunables 54 27 0 : slabdata 17 17 0
posix_timers_cache 0 0 100 39 1 : tunables 120 60 0 : slabdata 0 0 0
uid_cache 0 0 64 59 1 : tunables 120 60 0 : slabdata 0 0 0
blkdev_ioc 0 0 24 145 1 : tunables 120 60 0 : slabdata 0 0 0
blkdev_queue 25 30 368 10 1 : tunables 54 27 0 : slabdata 3 3 0
blkdev_requests 4 28 140 28 1 : tunables 120 60 0 : slabdata 1 1 0
biovec-(256) 256 256 3072 2 2 : tunables 24 12 0 : slabdata 128 128 0
biovec-128 256 260 1536 5 2 : tunables 24 12 0 : slabdata 52 52 0
biovec-64 256 260 768 5 1 : tunables 54 27 0 : slabdata 52 52 0
biovec-16 256 260 192 20 1 : tunables 120 60 0 : slabdata 13 13 0
biovec-4 256 295 64 59 1 : tunables 120 60 0 : slabdata 5 5 0
biovec-1 256 406 16 203 1 : tunables 120 60 0 : slabdata 2 2 0
bio 256 295 64 59 1 : tunables 120 60 0 : slabdata 5 5 0
file_lock_cache 65 80 96 40 1 : tunables 120 60 0 : slabdata 2 2 0
sock_inode_cache 121 121 352 11 1 : tunables 54 27 0 : slabdata 11 11 0
skbuff_head_cache 560 560 192 20 1 : tunables 120 60 0 : slabdata 28 28 0
sock 9 12 320 12 1 : tunables 54 27 0 : slabdata 1 1 0
proc_inode_cache 1196 1196 304 13 1 : tunables 54 27 0 : slabdata 92 92 0
sigqueue 26 26 148 26 1 : tunables 120 60 0 : slabdata 1 1 0
radix_tree_node 2030 2030 276 14 1 : tunables 54 27 0 : slabdata 145 145 0
bdev_cache 1 9 416 9 1 : tunables 54 27 0 : slabdata 1 1 0
mnt_cache 20 40 96 40 1 : tunables 120 60 0 : slabdata 1 1 0
inode_cache 2665 2665 288 13 1 : tunables 54 27 0 : slabdata 205 205 0
dentry_cache 4147 4147 136 29 1 : tunables 120 60 0 : slabdata 143 143 0
filp 1380 1440 160 24 1 : tunables 120 60 0 : slabdata 60 60 0
names_cache 4 4 4096 1 1 : tunables 24 12 0 : slabdata 4 4 0
idr_layer_cache 97 116 136 29 1 : tunables 120 60 0 : slabdata 4 4 0
buffer_head 0 0 48 78 1 : tunables 120 60 0 : slabdata 0 0 0
mm_struct 44 49 544 7 1 : tunables 54 27 0 : slabdata 7 7 0
vm_area_struct 3452 3680 84 46 1 : tunables 120 60 0 : slabdata 80 80 0
fs_cache 45 113 32 113 1 : tunables 120 60 0 : slabdata 1 1 0
files_cache 42 45 416 9 1 : tunables 54 27 0 : slabdata 5 5 0
signal_cache 57 60 256 15 1 : tunables 120 60 0 : slabdata 4 4 0
sighand_cache 55 60 1312 3 1 : tunables 24 12 0 : slabdata 20 20 0
task_struct 96 100 960 4 1 : tunables 54 27 0 : slabdata 25 25 0
anon_vma 1273 1356 8 339 1 : tunables 120 60 0 : slabdata 4 4 0
size-131072(DMA) 0 0 131072 1 32 : tunables 8 4 0 : slabdata 0 0 0
size-131072 1 1 131072 1 32 : tunables 8 4 0 : slabdata 1 1 0
size-65536(DMA) 0 0 65536 1 16 : tunables 8 4 0 : slabdata 0 0 0
size-65536 0 0 65536 1 16 : tunables 8 4 0 : slabdata 0 0 0
size-32768(DMA) 0 0 32768 1 8 : tunables 8 4 0 : slabdata 0 0 0
size-32768 1 1 32768 1 8 : tunables 8 4 0 : slabdata 1 1 0
size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0
size-16384 8 8 16384 1 4 : tunables 8 4 0 : slabdata 8 8 0
size-8192(DMA) 0 0 8192 1 2 : tunables 8 4 0 : slabdata 0 0 0
size-8192 3 3 8192 1 2 : tunables 8 4 0 : slabdata 3 3 0
size-4096(DMA) 0 0 4096 1 1 : tunables 24 12 0 : slabdata 0 0 0
size-4096 278 278 4096 1 1 : tunables 24 12 0 : slabdata 278 278 0
size-2048(DMA) 0 0 2048 2 1 : tunables 24 12 0 : slabdata 0 0 0
size-2048 292 292 2048 2 1 : tunables 24 12 0 : slabdata 146 146 0
size-1024(DMA) 0 0 1024 4 1 : tunables 54 27 0 : slabdata 0 0 0
size-1024 60 60 1024 4 1 : tunables 54 27 0 : slabdata 15 15 0
size-512(DMA) 0 0 512 8 1 : tunables 54 27 0 : slabdata 0 0 0
size-512 216 216 512 8 1 : tunables 54 27 0 : slabdata 27 27 0
size-256(DMA) 0 0 256 15 1 : tunables 120 60 0 : slabdata 0 0 0
size-256 76 90 256 15 1 : tunables 120 60 0 : slabdata 6 6 0
size-192(DMA) 0 0 192 20 1 : tunables 120 60 0 : slabdata 0 0 0
size-192 139 140 192 20 1 : tunables 120 60 0 : slabdata 7 7 0
size-128(DMA) 0 0 128 30 1 : tunables 120 60 0 : slabdata 0 0 0
size-128 857 870 128 30 1 : tunables 120 60 0 : slabdata 29 29 0
size-96(DMA) 0 0 96 40 1 : tunables 120 60 0 : slabdata 0 0 0
size-96 1049 1080 96 40 1 : tunables 120 60 0 : slabdata 27 27 0
size-64(DMA) 0 0 64 59 1 : tunables 120 60 0 : slabdata 0 0 0
size-64 4425 4425 64 59 1 : tunables 120 60 0 : slabdata 75 75 0
size-32(DMA) 0 0 32 113 1 : tunables 120 60 0 : slabdata 0 0 0
size-32 4633 4633 32 113 1 : tunables 120 60 0 : slabdata 41 41 0
kmem_cache 120 120 128 30 1 : tunables 120 60 0 : slabdata 4 4 0
क्या आप वाकई कम स्मृति की स्थिति के कारण सिस्टम क्रैश हो जाते हैं? –
मुझे संदेह है कि यह करता है, आखिरी चेतावनी तब उठाई गई थी जब केवल 4 एमबी मुक्त मेमोरी छोड़ी गई थी – Ram
मुझे नहीं लगता कि सक्रिय + कैश एक सार्थक गणना है। https://access.redhat.com/solutions/406773 कहता है कि "सक्रिय: मेमोरी जिसका उपयोग हाल ही में किया गया है और आमतौर पर नहीं बदला जाता है या पुनः दावा नहीं किया जाता है"। तो कैश मेमोरी शायद सक्रिय के रूप में गिना जाता है। मुफ्त मेमोरी होने पर कैशों को बेदखल करने का कोई कारण नहीं है और मुझे लगता है कि जब तक आप वास्तव में बाहर नहीं चल रहे हैं तब तक सभी मेमोरी के साथ चलना सामान्य है, और आपको यह साबित करने की आवश्यकता है कि आप हैं। क्या आप ओओएम के कारण मारे गए किसी भी प्रक्रिया को देखते हैं? –