2012-07-01 11 views
5

गुड दोपहर में 100% CPU उपयोग से परे है। मुझे अपने CentOS 6 (64 बिट) सर्वर पर जावा वीएम के साथ वास्तव में परेशानी का सामना करना पड़ रहा है। यह एक क्वाड-कोर सीपीयू वाला है (हाइपरथ्रेडिंग के साथ), 16 जीबी रैम और 2 टीबी हार्ड ड्राइव स्पेस (सॉफ्टवेयर RAID1 पर)। मैंने सोचा कि मैं यहां पूछूंगा क्योंकि, एफएक्यू के अनुसार, डेवलपर्स द्वारा उपयोग किए जाने वाले "सामान्य उपकरण" के बारे में प्रश्न उचित हैं। उम्मीद है कि कोई इस मुद्दे पर कुछ प्रकाश डाल सकता है।JOS हमेशा CentOS 6

मैं सर्वर पर 24 घंटे/दिन जावा सॉफ़्टवेयर का एक टुकड़ा चलाता हूं। इससे पहले आज (सर्वर के लोकेल पर आधी रात के बाद कुछ घंटों का पता चला, जो उल्लेखनीय है क्योंकि यह महीने का पहला दिन है) मुझे इस सॉफ़्टवेयर से कनेक्ट करने वाले उपयोगकर्ताओं द्वारा रिपोर्ट प्राप्त हुई क्योंकि ग्राहक इसके बारे में अचानक अनुपयोगी हो गए। JVM कभी बाधित या पुनरारंभ नहीं किया गया था। इसे कुछ ही दिन पहले ही पुनरारंभ किया गया था, और तब से यह सामान्य रूप से चल रहा था (लगभग 5% या उससे कम CPU का उपयोग करना, जो सामान्य है)।

इस बार, जब मैंने प्रक्रिया की जांच की, तो यह अनिवार्य रूप से सर्वर पर चल रहे अन्य अनुप्रयोगों (जैसे शीर्ष पर रिपोर्ट) से कुश्ती कर सकता था, या 100% से अधिक (जैसा कि रिपोर्ट किया गया था) पी एस)। मैंने एप्लिकेशन को रोकने और पुनरारंभ करने का प्रयास किया, लेकिन जैसे ही यह चल रहा था, CPU उपयोग तुरंत 100% से ऊपर तक शूट हो जाएगा। मेमोरी उपयोग सामान्य है। मैंने अलग-अलग जेवीएम झंडे के साथ प्रयोग किया, इसका कोई फायदा नहीं हुआ। मैंने सॉफ़्टवेयर के नवीनतम संस्करण को डाउनलोड करने और एक नया इंस्टॉल करने का प्रयास किया, लेकिन इससे कोई मदद नहीं मिली। अंत में, मैंने अन्य डाउनलोड करने का प्रयास किया, जावा सॉफ़्टवेयर का पूरी तरह से अलग टुकड़ा, लेकिन जब मैंने इसे सर्वर पर चलाया, तो यह एक ही समस्या से पीड़ित था।

जब मैंने सॉफ्टवेयर डाउनलोड किया और इसे अपने कंप्यूटर पर चलाया, तो CPU उपयोग सामान्य था। इसलिए, मुझे लगता है कि सर्वर में गलत है, लेकिन मैं कल्पना नहीं कर सकता कि यह संभवतः क्या हो सकता है। सर्वर का JVM अद्यतित है, मानक, भंडार पैकेज से (कोई भी अनुकूलन नहीं)।

java version "1.6.0_24" 
OpenJDK Runtime Environment (IcedTea6 1.11.3) (rhel-1.48.1.11.3.el6_2-x86_64) 
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) 

uname -एक से::

2.6.32-131.21.1.el6.x86_64 #1 SMP Tue Nov 22 19:48:09 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux 

centos रिलीज/redhat-release से/प्रणाली रिलीज:

CentOS release 6.2 (Final) 

मुफ़्त रिपोर्टें

जावा -संस्करण से

लगभग 14.5 जीबी मुफ्त रैम। डीएफ रिपोर्ट/होम विभाजन में 1.4tb मुक्त डिस्क स्थान के बारे में रिपोर्ट करता है (जहां प्रश्न में सॉफ़्टवेयर और उनकी सभी फाइलें स्थित थीं)।

कोई विचार? कृपया पूछें कि क्या आपको अधिक डेटा चाहिए, और मुझे कोशिश करने/जांचने के लिए प्रक्रियाओं का सुझाव देने में संकोच न करें। समस्या को देखते समय, मुझे कई उदाहरण मिले जो JVM के साथ CentOS पर सभी सीपीयू चुरा रहे थे, लेकिन उनमें से कोई भी मेरी समस्या से मेल नहीं खाता था।

+1

आज एक छलांग थी। अब टाइमर एक दूसरे * की समाप्ति कर रहे हैं * वे सेट हैं! रीबूट। –

+0

ओह। यदि यह काम करता है तो मैं आपको बता दूंगा ताकि आप इसे बाद में उत्तर के रूप में पोस्ट कर सकें। – Protected

+0

वह पूरी तरह से काम किया। धन्यवाद। मैं सामान्य रूप से बिना किसी ठोस कारण के सर्वर को रीबूट नहीं कर सकता, क्योंकि यह सभी ग्राहकों के लिए सेवा में बाधा डालता है। – Protected

उत्तर

8

आप शायद निम्न कमांड

# service ntpd stop; date -s "`date`";service ntpd start; 

गिरी 2.6.32-220.el6.x86_64 और jdk1.7.0_04 साथ मैं CentOS6 है की कोशिश करना चाहते, उच्च CPU मनाया जाता है और उपरोक्त आदेश के द्वारा हल किया गया था। ओएस को पुनरारंभ करने की कोई ज़रूरत नहीं है।

यह https://access.redhat.com/knowledge/solutions/154793 पर वर्णित लिनक्स कर्नेल के साथ एक बग प्रतीत होता है। उपर्युक्त फिक्स का वर्णन http://blog.wpkg.org/2012/07/01/java-leap-second-bug-30-june-1-july-2012-fix/

+0

यह कर्नेल 2.6.32-220.17.1.el6.x86_64 # 1 एसएमपी और जावा "1.6.0_24" ओपनजेडीके (आईसीएसटीए 6 1.11.3) (rhel-1.48.1.11.3.el6_2-x86_64) के साथ यह मेरे लिए भी तय किया गया है। (20.0-बी 12, मिश्रित मोड का निर्माण) – danio

0

मैं यह पुष्टि कर सकता हूं कि यह समस्या फेडोरा 14, टॉमकैट 6 और ओपनजेडीके 1.6 पर मौजूद है। रहस्यवादी समाधान ने भी मेरे लिए काम किया।

uname -ar:

2.6.35.14-103.fc14.x86_64 #1 SMP Thu Oct 27 15:41:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux 

जावा -संस्करण:

java version "1.6.0_20" 
OpenJDK Runtime Environment (IcedTea6 1.9.10) (fedora-55.1.9.10.fc14-x86_64) 
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode) 
1

मैं भी RHEL 6, बिलाव 7, और सूर्य/Oracle जावा 7 & जावा 6 में मामला पेश पुष्टि कर सकते हैं।

ntpd stop; date; ntpd start कमांड काम किया।

uname: 
2.6.32-220.2.1.el6.x86_64 #1 SMP Fri Dec 23 02:21:33 CST 2011 x86_64 x86_64 x86_64 GNU/Linux