कुछ दिनों पहले मैंने एक डिस्क I / O प्रतीक्षा और डिस्क गतिविधि ड्रॉप (जो बहुत अच्छा था) को देखा। फिर मैंने यह भी देखा कि मेरा कैश भरा हुआ था (*) और खंडित था। फिर मैंने कैश फ्लश किया। उसके बाद, डिस्क विलंबता और डिस्क गतिविधि पिछले स्तर तक कूद गई (जो खराब थी)।
IOtop से पता चलता है कि [jbd2 / sda2-8] और [फ्लश -8: 00] हमेशा डिस्क उपयोग के शीर्ष पर होते हैं। यह एक डेल R210, हार्डवेयर RAID 1 (H200) है जिसमें बहुत सारी मुफ्त मेमोरी (कुल 16 जीबी, जिसमें से लगभग 8 जीबी बफर / कैश हैं)।
(*) कैश PHP के लिए APC opcode cache है, जो PHP स्क्रिप्ट के निष्पादन के लिए डिस्क एक्सेस को कम करता है। कैश पूर्ण और खंडित था क्योंकि इसमें विकास आवृत्ति की फाइलें शामिल थीं। जब मैंने उस पर ध्यान दिया, तो मैंने उन्हें फ़िल्टर किया।
सवाल यह है कि जब सैद्धांतिक रूप से घट जाना चाहिए तो डिस्क I / O क्यों बढ़ जाता है? नीचे मुनिन से कुछ रेखांकन दिए गए हैं। 6 फरवरी से 8 फरवरी तक कैश भरा हुआ था।
चूँकि मैंने @ cyberx86 द्वारा बताया गया था, उसके बाद apc.mmap_file_mask पर टिप्पणी की
और कुछ दिनों के बाद https://serverfault.com/a/362152/88934
apc.mmap_file_mask=/tmp/apc.XXXXXX
) का उपयोग करते हैं, तो आप उन्नत I / O देख सकते हैं। apc.mmap_file_mask
साझा मेमोरी (जैसे /apc.shm.XXXXXX
) या /dev/zero
(अनाम mmapped मेमोरी) का उपयोग करने के लिए सेटिंग का प्रयास करें ।