2013-05-22 12 views
5

मेरे पास -malloc, 25G के साथ चलने वाली वार्निश चल रही है, लेकिन प्रक्रिया तब तक बढ़ती रहती है जब तक कि यह सभी सर्वर मेमोरी का उपभोग न करे और यह दुर्घटनाग्रस्त हो जाए, कैश को पुनरारंभ करें।मॉलोक सीमा को ध्यान में रखते हुए वार्निश क्यों नहीं है?

कोई विचार क्या मैं यह देखने के लिए जांच सकता हूं कि क्या गलत है?

सर्वर में 16 कोर और 32 जीबी रैम है।
मैं वार्निश का उपयोग कर रहा हूं 3.

28346? एसएस 0:16/usr/sbin/varnishd -P /var/run/varnishd.pid -a: 9290 -T localhost: 6082 -f /etc/varnish/default.vcl -s malloc, 25G -p thread_pools 16 -p thread_pool_min 160 -p thread_pool_max 16000 -p thread_pool_add_delay 2

Memory

Close up

उत्तर

7

-s malloc,25Gonly limits the cache size, नहीं varnishd प्रक्रिया के आकार।

यह ध्यान रखना महत्वपूर्ण है कि आपके द्वारा निर्दिष्ट तर्क का आकार वास्तविक कैश का आकार है। कैश का ट्रैक रखने के लिए वार्निश के ऊपर एक ओवरहेड है, इसलिए वार्निश की वास्तविक मेमोरी पदचिह्न '-s' तर्क से अधिक होगा जो कैश पूर्ण है। वर्तमान अनुमान (व्यक्तिगत वार्निश-संस्करणों पर परिवर्तन के अधीन) यह है कि प्रत्येक ऑब्जेक्ट के लिए लगभग 1kb ओवरहेड आवश्यक है। 1 मिलियन ऑब्जेक्ट्स के लिए, इसका मतलब है 1 जीबी अतिरिक्त मेमोरी उपयोग।

यदि आपके पास एक बड़ा कैश है, तो file बैकएंड बेहतर हो सकता है।

1

दस्तावेज़ीकरण सही है, लेकिन स्मृति विखंडन के कारण समस्या भी बदतर है। सुरक्षित पक्ष पर रहने के लिए, आपको malloc स्टीवडोर

के लिए कॉन्फ़िगर किए गए आकार के 1.5x से 2x के लिए अनुमति देनी चाहिए
संबंधित मुद्दे