சரி: வி.எம் துவக்கும்போது பிழை ஏற்பட்டது பொருள் குவியலுக்கு போதுமான இடத்தை ஒதுக்க முடியவில்லை



சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்

இந்த நாட்களில் ஜாவா ஆப்லெட்டுகள் பிரபலமான வலை தொழில்நுட்பம் இல்லை என்றாலும், ஜாவா மெய்நிகர் இயந்திரத்தை நேரடியாக லினக்ஸ் சேவையகத்தில் பயன்படுத்த எண்ணற்ற காரணங்கள் உள்ளன. லினக்ஸ் ஜாவா கட்டளையை தனித்தனி வன்பொருளில் அல்லது அதன் சொந்த VM இன் உள்ளே இயக்க முயற்சித்தால், நீங்கள் 'VM ஐ துவக்கும் போது ஏற்பட்ட பிழை, பொருள் குவியலுக்கு போதுமான இடத்தை ஒதுக்க முடியவில்லை' செய்தியைப் பெறலாம்.



கட்டளையை இயக்குவதற்கு உங்களிடம் போதுமான ரேம் இருப்பதால் இது மிகவும் வித்தியாசமாகத் தெரிகிறது, ஆனால் இது பெரும்பாலும் உடல் மற்றும் மெய்நிகர் நினைவக பக்கங்களைப் பயன்படுத்தும் விதத்தில் ஒரு குறிப்பிட்ட நகைச்சுவையின் காரணமாக இருக்கலாம். ஒப்பீட்டளவில் பெரிய அளவுகளைக் குறிப்பிடுவது, இந்தச் செய்தியை முழுவதுமாகத் தவிர்த்து, ஜாவா கட்டளையை நீங்கள் வேறு வழியில்லாமல் இயக்க அனுமதிக்கும்.



முறை 1: கட்டளை வரி விருப்பங்களைப் பயன்படுத்துதல்

நீங்கள் ஜாவாவை இயக்க முயற்சித்திருந்தால், இந்த செய்தியைப் பெற்றிருந்தால், நிரலை இயக்க ஏராளமான நினைவக பொருட்கள் உள்ளனவா என்பதை உறுதிப்படுத்த நீங்கள் ஏற்கனவே இலவச கட்டளையை இயக்கியிருக்கலாம்.



ஜாவா & இலவச கட்டளைகள்

எங்கள் சோதனை இயந்திரத்தில் எங்களிடம் 2.3 ஜிபி ப physical தீக ரேம் இருப்பதைக் கவனியுங்கள், மெய்நிகர் நினைவகத்தின் ஒரு பக்கம் கூட இதுவரை பயன்படுத்தப்படவில்லை. உங்களிடம் நினைவக நெருக்கடி இருப்பதை நீங்கள் கவனித்தால், மீண்டும் முயற்சிக்கும் முன்பு நீங்கள் இயங்கும் பிற விஷயங்களை மூட வேண்டும். மறுபுறம், தங்களுக்கு ஏராளமான இலவச நினைவகம் இருப்பதைக் கண்டறிந்தவர்கள் நேரடியாக ஒரு அளவைக் குறிப்பிட முயற்சி செய்யலாம்.

எடுத்துக்காட்டாக, எங்கள் கணினியில் நாம் கட்டளையை java -Xms256m -Xmx512M ஆக இயக்க முடிந்தது, அது இல்லையெனில் எதிர்பார்க்கப்பட்டதைப் போலவே செயல்பட்டது. இது ஜாவா மெய்நிகர் இயந்திரம் தொடக்கத்தில் முன்பதிவு செய்ய முயற்சிக்கும் குவியல் அளவைக் கட்டுப்படுத்துகிறது. கட்டுப்பாடற்ற மெய்நிகர் இயந்திரம் கற்பனையாக அசாதாரணமான காரியங்களைச் செய்யக்கூடும் என்பதால், அது இல்லையெனில் இலவச கணினியில் பிழை செய்திகளை வீசக்கூடும். சரியான கலவையைக் கண்டுபிடிப்பதற்கு முன்பு அந்த இரண்டு மதிப்புகளுடன் நீங்கள் விளையாட விரும்பலாம்.



குனு / லினக்ஸை இயக்க நீங்கள் பயன்படுத்தும் வி.எம் வகைக்கு ஜே.வி.எம் எந்த தொடர்பும் இல்லை என்பதால் நீங்கள் அதை இயக்குவதைப் பொருட்படுத்தாமல் இது ஒரு சிக்கலாக இருக்கலாம்.

முறை 2: மாற்றத்தை நிரந்தரமாக்குவதற்கான மாறிகளை ஏற்றுமதி செய்தல்

வேலை செய்யும் மதிப்பை நீங்கள் கண்டறிந்தால், அந்த அமர்வுக்கு நிரந்தரமாக்க அதை ஏற்றுமதி செய்யலாம். உதாரணமாக, பாஷ் கட்டளை வரியில் இருந்து ஏற்றுமதி _JAVA_OPTIONS = ’- Xms256M -Xmx512M’ ஐப் பயன்படுத்தினோம், மேலும் எங்கள் சேவையகத்திலிருந்து வெளியேறும் வரை வேறு வழிகள் இல்லாமல் ஜாவா கட்டளையை தானாகவே இயக்க அனுமதித்தது.

நாங்கள் மற்றொரு அமர்வில் உள்நுழைந்ததும் அதை மீண்டும் இயக்க வேண்டும், எனவே நீங்கள் ஜாவா கட்டளையை அடிக்கடி பயன்படுத்த திட்டமிட்டால் அதை தொடர்புடைய எந்த தொடக்க ஸ்கிரிப்ட்களிலும் சேர்க்க விரும்பலாம். எங்கள் .bash_login கோப்பில் வரியைச் சேர்த்துள்ளோம், ஒவ்வொரு முறையும் உள்நுழைவு வரியில் மீண்டும் இயங்காமல் அதைப் பயன்படுத்துகிறோம், ஆனால் நீங்கள் வேறு ஷெல்லுடன் பணிபுரிகிறீர்கள் என்றால் அதற்கான மற்றொரு இடத்தைக் கண்டுபிடிக்க வேண்டியிருக்கும்.

சில வன்பொருள் உள்ளமைவுகள் மட்டுமே இந்த பிழை செய்தியைத் தூண்டுவதை நீங்கள் கவனித்திருக்கலாம். ஏனென்றால் இது வழக்கமாக அதிக அளவிலான ரேம் கொண்ட கணினிகளில் நிகழ்கிறது, ஆனால் அதை எவ்வாறு பயன்படுத்துவது என்பதற்கான குறைந்த வரம்புகள். ஜாவா ஒரு பெரிய தொகுதியை ஒதுக்க முயற்சிக்கும், அது முடியாது என்று கூறப்படும், இது நினைவகம் இல்லை என்று விளக்குகிறது.

முறை 3: தற்போதைய ஜாவா விருப்பங்களை அச்சிடுதல்

நீங்கள் கட்டளை வரியில் பணிபுரிகிறீர்கள் மற்றும் நீங்கள் தற்போது _JAVA_OPTIONS மதிப்பை அமைத்துள்ளதற்கு விரைவான குறிப்பை விரும்பினால், எதிரொலி run _JAVA_OPTIONS ஐ இயக்கவும், அது தற்போதைய மதிப்புகளை உடனடியாக அச்சிடும். நீங்கள் முயற்சிக்க சரியான எண்களைக் கண்டுபிடிக்க முயற்சிக்கும்போது இது சரிசெய்தலுக்கு பயனுள்ளதாக இருக்கும்.

இந்த பிழைத்திருத்தத்திற்கு வேறு எந்த விளையாடும் தேவையில்லை என்றாலும், மெய்நிகர் நினைவகத்தின் குறுகிய முடிவில் நீங்கள் எப்போதாவது உண்மையாக இருப்பதைக் கண்டால், ஜாவா “பொருள் குவியலுக்கு போதுமான இடத்தை ஒதுக்க முடியவில்லை” என்ற செய்தியை வெளியேற்றும் என்பதை நினைவில் கொள்ளுங்கள். இதுபோன்றால், தற்போது என்ன செயல்முறைகள் இயங்குகின்றன என்பதை நீங்கள் இருமுறை சரிபார்க்க வேண்டும், அது ஒரு விருப்பமாக இருந்தால் சேவையகத்தை மறுதொடக்கம் செய்யலாம். நீங்கள் அதிக இடமாற்று இடத்தையும் உருவாக்கலாம், ஆனால் இது ஒரு சிக்கலாக இருந்தால், வேறு வழியில்லாமல் அதை சரிசெய்வது நல்லது.

உங்கள் அமைப்புகள் சரியாகத் தெரிந்தாலும், அது இன்னும் செயல்படவில்லை என்ற அரிதான சந்தர்ப்பத்தில், 64 பிட் ஜாவா தொகுப்பை நிறுவியுள்ளீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், ஏனெனில் இது இந்த சிக்கலில் இருந்து விடுபட வேண்டும். தொடர்ச்சியான நினைவக தேவைகள் ஜாவாவின் 32 பிட் பதிப்பிற்கு மட்டுமே பொருந்தும். ஒரு சில நிகழ்வுகளில் 64-பிட் பதிப்பு 32 பிட் மெய்நிகர் இயந்திரத்தை உருவாக்க முயற்சித்தோம், எனவே கட்டளை வரியில் -d64 விருப்பத்தை குறிப்பிடுவது எங்களுக்கு சரி செய்யப்பட்டது.

3 நிமிடங்கள் படித்தேன்