2012-05-07 17 views
15

जावा का उपयोग करने वाले दोनों कोरों को सीमित करने का कोई तरीका है?जावा सीमित संसाधन उपयोग

और उसी ही नस में, क्या यह सीमित करना संभव है कि उस कोर का कितना उपयोग किया जा रहा है?

+0

जावा पक्ष से नहीं, ऑपरेटिंग सिस्टम धागे को कोर में आवंटित करता है। वीएमवेयर से कुछ बहुत महंगा सॉफ्टवेयर एकमात्र समाधान है जिसे मैं व्यक्तिगत रूप से परिचित हूं :) – Affe

+1

http://stackoverflow.com/questions/8882885/is-it-possible-to-force-an-existing-java-plication-to -उज-नो-एक्स-से-एक्स-कोर – rolve

+1

[जावा जावा की स्मृति और सीपीयू उपयोग सीमित] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/4952528/limiting-java-applications-memory-and-cpu- उपयोग) – Abizern

उत्तर

5

आप लिनक्स पर टास्कसेट का उपयोग कर सकते हैं। आप किसी प्रक्रिया की प्राथमिकता को भी कम कर सकते हैं, लेकिन जब तक कि CPU (एस) व्यस्त नहीं होते हैं, तब तक एक प्रक्रिया को जितना सीपीयू उपयोग किया जा सकता है उतना सीपीयू प्राप्त होगा।

मेरे पास जावा थ्रेड एफ़िनिटी नामक कोर को थ्रेड समर्पित करने के लिए एक लाइब्रेरी है, लेकिन आपके मन में यह एक अलग उद्देश्य हो सकता है। क्या आप स्पष्ट कर सकते हैं कि आप ऐसा क्यों करना चाहते हैं?

+0

मैं एक स्कूल प्रोजेक्ट के लिए एक वितरित प्रसंस्करण जाल बना रहा हूं, और आवश्यकताओं में से एक संसाधन उपयोग को सीमित करने में सक्षम होना था। – rynojvr

+0

प्रक्रिया को शुरू करने के लिए सबसे सरल बात बहुत कम प्राथमिकता है। जैसे 'अच्छा -20' इसका मतलब है कि यह केवल "मुक्त" सीपीयू का उपयोग करेगा। यह स्मृति को सीमित नहीं करेगा (आप अधिकतम ढेर आकार का उपयोग कर सकते हैं) या डिस्क या नेटवर्क IO (यदि आपको इसकी आवश्यकता हो तो आपको कोड करना होगा) लेकिन यह वही होगा जो आप चाहते हैं। –

3

मुझे नहीं लगता कि इन प्रकार के बदलाव करने के लिए अंतर्निहित जेवीएम विकल्प हैं, हालांकि आप जेवीएम प्रक्रिया की प्राथमिकता और/या सीपीयू संबंध स्थापित करके CPU उपयोग को सीमित कर सकते हैं। यदि आप लिनक्स पर हैं तो CPULimit पर एक नज़र डालें जो इस प्रकार की संसाधन सीमाओं को करने का एक शानदार टूल है।

+0

इस सर्वव्यापी, पोर्टेबल भाषा के प्रमुख नकारात्मक; मुझे विश्वास नहीं है कि इसे कम से कम "जावा ओवरलोर्ड्स" निगम द्वारा संबोधित नहीं किया गया है। –

2

https://github.com/haosdent/jcgroup जेसीग्रुप आपकी सबसे अच्छी पसंद है। आप सीपीयू शेयर, डिस्क I/O गति, नेटवर्क बैंडविड्थ आदि को सीमित करने के लिए इस लाइब्रेरी का उपयोग कर सकते हैं