जावा (एसई) कार्यक्रम का निष्पादन डेबियन व्हीज़ी पर बहुत धीमा है ... क्या मुझे जेवीएम को "ट्यून" करने की आवश्यकता है?


1

Superusers।

मैंने एक सिमुलेशन प्रक्रिया को निष्पादित करने के लिए एक डेस्कटॉप प्रोग्राम लिखा था (यहां कोड कॉपी करने के लायक नहीं है ... यह काफी लंबा कार्यक्रम है)। अगर मैं इसे मैकबुक प्रो (Intel Core i7 2.2 GHz, 4GB RAM) पर चलाता हूं, तो इसे पूरा होने में लगभग एक घंटे का समय लगता है। हालाँकि, जब मैं अपने डेबियन लिनक्स डेस्कटॉप (इंटेल कोर i7, 3.4 गीगाहर्ट्ज, 8 जीबी रैम, व्हीजी 64 बिट्स पर चल रहा है) पर सटीक प्रोग्राम चलाता हूं, तो तीन घंटे तक का समय लगता है! यह बिल्कुल उसी कार्यक्रम है! (वैसे, मैं दोनों कंप्यूटरों पर ओरेकल के जेडीके 8 का उपयोग करता हूं)।

चारों ओर गुगली मिली यह ब्लॉग , जो बताता है कि लिनक्स पर "बड़े पृष्ठों" को कैसे सक्षम किया जाए ... मैंने बिल्कुल यही कोशिश की, लेकिन प्रदर्शन को बढ़ावा देना कम से कम है। इससे पहले कि मैं कुछ करूं, मुझे पछतावा हो सकता है, मुझे कुछ मार्गदर्शन चाहिए:

  1. "बड़े पृष्ठ" को सक्षम करने से वास्तव में JVM पर प्रभाव पड़ता है (विशेष रूप से, जावा प्रोग्राम बेहतर तरीके से चलते हैं)?
  2. क्या कोई अन्य "ट्यूनिंग" विकल्प है जो मैं चीजों को गति देने के लिए उपयोग कर सकता हूं? (जैसा कि आप ऊपर देख सकते हैं, यह एक हार्डवेयर मुद्दा नहीं है, डेबियन डेस्कटॉप सचमुच तब उड़ता है जब मैं कुछ अन्य जटिल चीजें करता हूं ... लेकिन जावा प्रोग्राम बस खींच रहे हैं ... और मैं उन्हें किसी अन्य पर फिर से लिखना नहीं चाहूंगा भाषा)

अग्रिम में धन्यवाद


क्या आपके पास डेबियन सिस्टम पर पृष्ठभूमि में चल रहे अन्य सीपीयू-गहन कार्य हैं?
Wyzard

@Wyzard कोई नहीं (जो मुझे पता है) ... जब मैं जावा प्रोग्राम चलाता हूं तो सीपीयू का उपयोग लगभग 3 से 5 प्रतिशत होता है
Barranka

1
एक चीज जो आपको करनी चाहिए वह है दोनों कंप्यूटरों पर "समय" कमांड का उपयोग करके प्रोग्राम चलाना। यह आपको कार्यक्रम द्वारा लिए गए वास्तविक सीपीयू समय (वास्तविक-विश्व समय के विपरीत) की मात्रा बताएगा। जांचें कि क्या यह दो कंप्यूटरों के बीच समान है, या डेबियन एक पर अधिक लंबा है। (विशेष रूप से, "समय" कार्यक्रम द्वारा रिपोर्ट किए गए "उपयोगकर्ता" और "एसईएस" संख्या को देखें।)
Wyzard

क्या आप सुनिश्चित हैं कि डेबियन के तहत आप सूर्य का आह्वान कर रहे हैं java निष्पादन योग्य और नहीं icedtea संस्करण?
LawrenceC

@ultrasawblade मैं जिस कमांड का उपयोग कर रहा हूं वह है: /usr/local/jdk8.0/bin/java -jar MyProgram.jar... तो मुझे पूरा यकीन है कि मैं सही इस्तेमाल कर रहा हूँ;)
Barranka
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.