2010-06-24 5 views
15

कभी-कभी हमारे पास jboss/server/web/tmp/vfs-nested.tmp निर्देशिका में बड़ी संख्या में JAR फ़ाइलें हैं।
उदाहरण के लिए आज इस निर्देशिका में 350k जार फ़ाइलों से अधिक है।
लेकिन अन्य होस्टों पर इस निर्देशिका में केवल 2 जार फ़ाइलें हैं।
इस समस्या का मूल कारण क्या हो सकता है?jboss/server/web/tmp/vfs-nested.tmp निर्देशिका में जेएआर फाइलों की बड़ी मात्रा

हम का उपयोग JBoss 5.1

अद्यतन:

JBoss वीएफएस नियंत्रित करने के लिए अलग अलग स्विच का एक सेट प्रदान करता है:
मैं JBoss 5.1.0.GA के लिए रिलीज नोट्स में निम्नलिखित जानकारी मिली यह आंतरिक व्यवहार है। जेबॉस एएस jboss.vfs.forceCopy = डिफ़ॉल्ट रूप से सत्य सेट करता है। सभी प्रदत्त वीएफएस झंडे देखने के लिए VFSUtils.java क्लास का कोड देखें।

तो मुझे समझ में नहीं आता कि मुझे क्या सेट करना चाहिए?
क्या मुझे -Djboss.vfs.forceNoCopy = true या -Djboss.vfs.forceCopy = false सेट करना चाहिए?
या मुझे दोनों को सेट करना चाहिए?

अद्यतन 1:
मैं पूरे थ्रेड http://community.jboss.org/thread/2148?start=0&tstart=0 पढ़ लिया है और अब मैं shure नहीं कर रहा हूँ कि मैं या तो jboss.vfs.forceCopy या jboss.vfs.forceNoCopy बदलना चाहिए।
इस धागे के अनुसार मुझे tmp dir में बड़ी मात्रा में फ़ाइलों की बजाय आउटऑफमेमरी त्रुटि होगी।

+0

एक ही समस्या है, इसलिए मैं इस प्रश्न पर एक बक्षीस डाल रहा हूं। – Gnoupi

+0

क्या आपको कभी इसका अच्छा जवाब मिला? मुझे भी वही समस्या हो रही है। दो समान (?) सर्वर, एक tmp फ़ाइलों के साथ भरना, दूसरा प्रतीत होता है ठीक है। और मेरा मानना ​​है कि हर मिनट इन फ़ाइलों को बनाने से सर्वर धीमा हो जाता है। –

+2

@DanielWilliams हमें यह समस्या भी हो रही है, और, जबकि हमें इन फ़ाइलों को उत्पन्न करने से जेबॉस को रोकने का कोई तरीका नहीं मिला है, हमने पाया है कि हम इस फ़ोल्डर से पुरानी फाइलों को सुरक्षित रूप से हटा सकते हैं जबकि जेबॉस एप्लिकेशन को प्रभावित किए बिना चल रहा है (रों)। हम जिस आदेश का उपयोग करते हैं वह है 'ढूंढें। 24 घंटे (वाईएमएमवी) से पुरानी फ़ाइलों को हटाने के लिए vfs-nested.tmp फ़ोल्डर के अंदर से -ctime +1 -exec rm {} \; "हम निश्चित रूप से सुनिश्चित हैं कि समस्या हमारे लिए इंगित करने के लिए सिम्लिंक के उपयोग से जुड़ी है तैनाती, शायद हमारे तैनाती करने के लिए ट्विडल के उपयोग के संबंध में। जेबॉस मंच भी देखें! – Rich

उत्तर

3

यहाँ से:।। http://sourceforge.net/project/shownotes.php?release_id=575410

"tmp निर्देशिका में अत्यधिक nestedjarNNN.tmp फ़ाइलों वीएफएस जावा tmp निर्देशिका में एक tmp फ़ाइल में नेस्टेड जार निकाल कर जार नेस्ट unwraps यह एक बड़ी संख्या में परिणाम कर सकते tmp निर्देशिका को भरने वाली फ़ाइलों का। आप jboss शुरू करने के लिए प्रयुक्त कमांड लाइन पर -Djboss.vfs.forceNoCopy = true सेट करके इस व्यवहार को अक्षम कर सकते हैं। यह भविष्य में रिलीज, जेबीएएस -4389 में डिफ़ॉल्ट रूप से सक्षम हो जाएगा। "

+0

हमारा एप्लिकेशन विभिन्न होस्टों पर काम करता है और केवल 2 पर हमें यह समस्या है। हमें सभी होस्टों पर यह समस्या क्यों नहीं है? –

+0

कृपया अपडेट देखें। –

+0

यहां समस्या यह है कि बल नोकोपी ने मेमोरी खपत पर प्रभाव डाला है और आउट-ऑफ-डिस्क-स्पेस के आईएसटीएड को आउटऑफमेमरी एरर – Honza

1

jskaggz का एक अच्छा जवाब है। इसके अलावा, मैं अपने run.bat फ़ाइल की शुरुआत में इस है:

rmdir /s /q c:\apps\jboss-5.1.0.ga\server\default\tmp 
rmdir /s /q c:\apps\jboss-5.1.0.ga\server\default\work 
rmdir /s /q c:\apps\jboss-5.1.0.ga\server\default\log 
mkdir  c:\apps\jboss-5.1.0.ga\server\default\tmp 
mkdir  c:\apps\jboss-5.1.0.ga\server\default\work 
mkdir  c:\apps\jboss-5.1.0.ga\server\default\log 
echo --- Cleared temp folders --- 

मैं चारों ओर फांसी वर्गों के पुराने प्रतियों के साथ समस्याओं पड़ा है, तो यह मदद करने के लिए लगता है।

+0

हमारा एप्लिकेशन विभिन्न होस्टों पर काम करता है और केवल 2 पर हमें यह समस्या है। हमें सभी होस्टों पर यह समस्या क्यों नहीं है? –

+0

कृपया अद्यतन देखें। –

1

मेरे पास उत्पादन में ऊपर वर्णित एक ही समस्या थी और इसे निम्नलिखित समाधान के साथ हल किया गया।

जोड़ा गया जावा विकल्पों

 
    -Djboss.vfs.cache=org.jboss.virtual.plugins.cache.IterableTimedVFSCache 
    -Djboss.vfs.cache.TimedPolicyCaching.lifetime=1440 

मेरे सेटअप भी अतिरिक्त तैनाती निर्देशिका को परिभाषित करता है तो मैं आदेश लाभ को देखने के लिए $JBOSS_SERVER_HOME/conf/bootstrap/ में स्थित फ़ाइल vfs.xml करने के लिए इन अतिरिक्त निर्देशिका जोड़ने की जरूरत है।

मुझे लगता है कि जीवन भर की सेटिंग मिनटों में है इसलिए मैं इसे एक दिन में सेट करता हूं क्योंकि मेरे पास रात भर सर्वर का शेड्यूल पुनरारंभ होता है। इस समाधान मैं था पाने के लिए

पहले भी -Djboss.vfs.forceNoCopy=true और -Djboss.vfs.forceCopy=false

यह काम करने के लिए दिखाई दिया उपयोग करने की कोशिश, लेकिन मैंने देखा है आवेदन बहुत धीमी दौड़ा - शायद क्योंकि इन सेटिंग को चालू वीएफएस बंद भंडारित करता है।

मेरा जेबॉस संस्करण jboss-5.1.0.GA है और मेरा एप्लिकेशन उत्पादन पर क्लस्टर में चलता है।

1

हम विस्फोट तैनाती करके इस समस्या का समाधान कर लिया है (युद्ध और कान के लिए काम करता है) jboss प्रलेखन http://docs.jboss.org/jbossas/docs/Administration_And_Configuration_Guide/5/html/ch03s01.html

है इस तरह वीएफएस नहीं किया जाता है में वर्णित है।

+0

हमने इस समस्या को उसी तरह हल किया है। –

0

क्लस्टर (या खेत) वातावरण में एक ही समस्या चल रही अन्य लोगों को मिला। https://issues.jboss.org/browse/JBAS-7126 डेब्रिटी निर्देशिका के रूप में एक कृषि निर्देशिका रखने वाली समस्या को हल करने के लिए।

मुझे दूसरी तैनाती निर्देशिका का उपयोग कर एक ही समस्या थी। इस दूसरी तैनाती निर्देशिका से आने वाले मेरे अनुप्रयोगों से जार फ़ाइलों को डिस्क भरने तक कॉपी किया गया।

खेत निर्देशिका के लिए वर्णित https://issues.jboss.org/browse/JBAS-7126 पर दूसरी तैनाती निर्देशिका को जोड़ने का प्रयास किया।

यह अच्छी तरह से काम करता है!

0

हम एक ही मुद्दे का सामना कर रहे थे और एक निर्देशिका निर्देशिका को तैनाती निर्देशिका के रूप में उपयोग करके इस मुद्दे को बाधित करने में सक्षम थे।

उस प्रक्रिया को लागू करने के बाद हमें हमारे DEV पर्यावरण की प्रकृति के कारण एक और समस्या का सामना करना पड़ रहा था (हमने पर्यावरण को क्लस्टर किया है और हमारे पास साझा विकास वातावरण पर तैनात कई डेवलपर्स हैं) जब हम लगातार परिणाम नहीं प्राप्त कर रहे थे इस तरह ईएआर और डब्ल्यूएआर को तैनात करना। हमने यह सुनिश्चित करके इस मुद्दे को बाधित कर दिया कि ईएआरएस और जेएआर तैनात किए जा रहे हैं ताकि यह सुनिश्चित किया जा सके कि असंगतता से बचा जा सके।

संबंधित मुद्दे