2009-10-23 10 views
5

में पृष्ठों को लॉक करने के लिए पर्याप्त विशेषाधिकार नहीं है, मुझे आश्चर्य है कि मैं निम्न त्रुटि को कैसे मेल कर सकता हूं?जेवीएम बड़ी पेज मेमोरी का उपयोग नहीं कर सकता है क्योंकि इसमें स्मृति

JVM बड़े पेज स्मृति का उपयोग नहीं कर सकते क्योंकि यह काफी विशेषाधिकार स्मृति में पृष्ठों

सेटिंग्स हैं लॉक करने के लिए नहीं है:

सेट JAVA_OPTS = -Xms20g -Xmx20g -XX : + UseConcMarkSweepGC -XX: + UseParNewGC -XX: + UseLargePages -Duser.timezone = "GMT"% डीबग%

यह Googling Windows Server 2003.

+3

ऑपरेटिंग सिस्टम क्या है? – OscarRyz

+0

यह विंडोज 2003 –

उत्तर

0

केवल विंडोज सर्वर 2003 बड़ी पेज मेमोरी का समर्थन करता है। इसका उपयोग करने के लिए, व्यवस्थापक को पहले उपयोगकर्ता को अतिरिक्त विशेषाधिकार असाइन करना होगा जो आवेदन चलाएगा: 1. नियंत्रण कक्ष -> व्यवस्थापकीय उपकरण -> स्थानीय सुरक्षा नीति 2. स्थानीय नीतियों का चयन करें -> उपयोगकर्ता अधिकार असाइनमेंट 3. डबल क्लिक करें "स्मृति में ताला पृष्ठ", उपयोगकर्ताओं और/या समूहों 4. रिबूट मशीन

+0

http://java.sun.com/javase/technologies/hotspot/largememory.jsp पर हो रहा है केवल विंडोज सर्वर 2003 विंडोज परिवार के बीच ही समर्थन करता है। सोलारिस और लिनक्स भी उनका समर्थन करते हैं। –

+0

बड़ी मेमोरी को जेवीएम कैसे लाभ होता है? प्रक्रिया को भौतिक स्मृति में लॉक करना क्यों महत्वपूर्ण है? – djangofan

5

पर हुआ पर त्रुटि openjdk -6 जिसमें hotspot/src/os/win32/vm/os_win32.cpp स्रोत फ़ाइल की ओर जाता है शामिल हैं निम्नलिखित टिप्पणी:

// Windows large page support is available on Windows 2003. In order to use 
// large page memory, the administrator must first assign additional privilege 
// to the user: 
// + select Control Panel -> Administrative Tools -> Local Security Policy 
// + select Local Policies -> User Rights Assignment 
// + double click "Lock pages in memory", add users and/or groups 
// + reboot 
// Note the above steps are needed for administrator as well, as administrators 
// by default do not have the privilege to lock pages in memory. 
// 
// Note about Windows 2003: although the API supports committing large page 
// memory on a page-by-page basis and VirtualAlloc() returns success under this 
// scenario, I found through experiment it only uses large page if the entire 
// memory region is reserved and committed in a single VirtualAlloc() call. 
// This makes Windows large page support more or less like Solaris ISM, in 
// that the entire heap must be committed upfront. This probably will change 
// in the future, if so the code below needs to be revisited. 

आप Windows 2003 का उपयोग कर रहे हैं, यह मदद कर सकता है । यदि नहीं, तो मेरे पास कोई अन्य सुझाव नहीं है।

1

मैं का सामना करना पड़ा है कि नीचे केवल सेट विन्यास पर्याप्त नहीं है जोड़ें:

विंडोज बड़े पेज समर्थन उपलब्ध है विंडोज 2003 पर।
बड़े पेज मेमोरी का उपयोग करने के लिए, व्यवस्थापक को firs टी अतिरिक्त विशेषाधिकार आवंटित
उपयोगकर्ता के लिए:

  • चयन नियंत्रण कक्ष -> व्यवस्थापकीय उपकरण -> स्थानीय सुरक्षा नीति
  • स्थानीय नीतियाँ चयन -> उपयोगकर्ता अधिकार असाइनमेंट
  • डबल क्लिक करें " पृष्ठों को स्मृति में लॉक करें ", उपयोगकर्ता और/या समूह जोड़ें
  • रीबूट

नोट करें कि व्यवस्थापक के लिए उपर्युक्त चरणों की भी आवश्यकता है, क्योंकि प्रशासक
डिफ़ॉल्ट रूप से पृष्ठों को स्मृति में लॉक करने का विशेषाधिकार नहीं है।

कार्यक्रम जो जावा दुभाषिया (जावा program.java) फोन करेगा प्रशासनिक Rulles साथ बुलाया जाना चाहिए। उदाहरण: ग्रहण, नेटबीन, सीएमडी, इत्यादि।2003 में किए गए विंडोज़ में, आपको उपरोक्त सेटिंग्स की आवश्यकता है, और आप मेनू खोलने के लिए दाएं बटन के साथ क्लिक कर सकते हैं और आइकन या निष्पादन योग्य कॉलर प्रोग्राम पर "व्यवस्थापक के रूप में चलाएं" चुनें।

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

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