పరిష్కరించండి: VM ప్రారంభించేటప్పుడు లోపం సంభవించింది, ఆబ్జెక్ట్ కుప్ప కోసం తగినంత స్థలాన్ని కేటాయించలేదు



సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి

ఈ రోజుల్లో జావా ఆప్లెట్‌లు జనాదరణ పొందిన వెబ్ టెక్నాలజీ కానప్పటికీ, జావా వర్చువల్ మిషన్‌ను నేరుగా లైనక్స్ సర్వర్‌లో అమర్చడానికి లెక్కలేనన్ని కారణాలు ఉన్నాయి. మీరు లైనక్స్ జావా కమాండ్‌ను వివిక్త హార్డ్‌వేర్‌పై లేదా దాని స్వంత VM లోపల పూర్తిగా అమలు చేయడానికి ప్రయత్నిస్తే, అప్పుడు మీరు “VM ప్రారంభించేటప్పుడు లోపం సంభవించింది, ఆబ్జెక్ట్ హీప్ కోసం తగినంత స్థలాన్ని కేటాయించలేకపోయింది” సందేశం.



ఇది చాలా విచిత్రంగా అనిపిస్తుంది ఎందుకంటే మీకు కమాండ్‌ను అమలు చేయడానికి తగినంత ర్యామ్ ఉంది, అయితే ఇది ఎక్కువగా భౌతిక మరియు వర్చువల్ మెమరీ పేజీలను ఉపయోగించుకునే విధంగా ఒక నిర్దిష్ట చమత్కారం కారణంగా ఉంటుంది. కొన్ని పెద్ద పరిమాణాలను పేర్కొనడం ఈ సందేశాన్ని పూర్తిగా దాటవేయడానికి మరియు జావా ఆదేశాన్ని మీరు ఏ విధంగానైనా అమలు చేయడానికి అనుమతిస్తుంది.



విధానం 1: కమాండ్ లైన్ ఎంపికలను ఉపయోగించడం

మీరు జావాను అమలు చేయడానికి ప్రయత్నించి, ఈ సందేశాన్ని సంపాదించినట్లయితే, ప్రోగ్రామ్‌ను అమలు చేయడానికి తగినంత మెమరీ సరఫరా ఉందని నిర్ధారించుకోవడానికి మీరు ఇప్పటికే ఉచిత ఆదేశాన్ని అమలు చేస్తారు.



జావా & ఉచిత ఆదేశాలు

మా పరీక్షా యంత్రంలో మనకు 2.3 GB భౌతిక RAM ఉందని గమనించండి మరియు వర్చువల్ మెమరీ యొక్క ఒక్క పేజీ కూడా ఇంకా ఉపయోగించబడలేదు. మీకు మెమరీ క్రంచ్ ఉందని మీరు గమనించినట్లయితే, మీరు మళ్లీ ప్రయత్నించే ముందు మీరు నడుపుతున్న ఇతర విషయాలను మూసివేయాలనుకుంటున్నారు. మరోవైపు, తమకు ఉచిత జ్ఞాపకశక్తి పుష్కలంగా ఉందని కనుగొన్న వారు నేరుగా పరిమాణాన్ని పేర్కొనడానికి ప్రయత్నించవచ్చు.

ఉదాహరణకు, మా మెషీన్‌లో మేము కమాండ్‌ను java -Xms256m -Xmx512M వలె అమలు చేయగలిగాము మరియు అది .హించిన విధంగా పనిచేసింది. ఇది జావా వర్చువల్ మెషీన్ స్టార్టప్‌లో రిజర్వ్ చేయడానికి ప్రయత్నించే కుప్ప పరిమాణాన్ని అడ్డుకుంటుంది. అనియంత్రిత వర్చువల్ మెషీన్ hyp హాజనితంగా అసాధారణమైన పనులను చేయగలదు కాబట్టి, ఇది ఉచిత సందేశ వ్యవస్థలో దోష సందేశాలను విసిరివేయవచ్చు. మీరు సరైన కలయికను కనుగొనే ముందు ఆ రెండు విలువలతో ఆడుకోవాలనుకోవచ్చు.



GNU / Linux ను అమలు చేయడానికి మీరు ఉపయోగిస్తున్న VM రకంతో JVM కి ఎటువంటి సంబంధం లేనందున మీరు దీన్ని నడుపుతున్న దానితో సంబంధం లేకుండా ఇది ఒక సమస్య కావచ్చు.

విధానం 2: మార్పును శాశ్వతంగా చేయడానికి వేరియబుల్స్ ఎగుమతి

మీరు పనిచేసే విలువను కనుగొన్నప్పుడు, ఆ సెషన్‌కు శాశ్వతంగా ఉండటానికి దాన్ని ఎగుమతి చేయవచ్చు. ఉదాహరణకు, మేము బాష్ కమాండ్ ప్రాంప్ట్ నుండి ఎగుమతి _JAVA_OPTIONS = ’- Xms256M -Xmx512M’ ను ఉపయోగించాము మరియు ఇది మా సర్వర్ నుండి లాగ్ అవుట్ అయ్యే వరకు ఇతర ఎంపికలు లేకుండా జావా కమాండ్‌ను స్వయంగా అమలు చేయడానికి మాకు అనుమతి ఇచ్చింది.

మేము మరొక సెషన్‌లో లాగిన్ అయినప్పుడు దీన్ని మళ్లీ అమలు చేయాల్సిన అవసరం ఉంది, కాబట్టి మీరు జావా ఆదేశాన్ని చాలా తరచుగా ఉపయోగించాలని అనుకుంటే మీరు దానిని ఏదైనా సంబంధిత ప్రారంభ స్క్రిప్ట్‌లకు జోడించాలనుకోవచ్చు. మేము మా .bash_login ఫైల్‌కు పంక్తిని జోడించాము మరియు ప్రతిసారీ లాగిన్ ప్రాంప్ట్‌ను మళ్లీ అమలు చేయకుండా ఉపయోగించినప్పుడు పని చేసినట్లు అనిపించింది, అయితే మీరు వేరే షెల్‌తో పని చేస్తుంటే దాని కోసం మరొక స్థానాన్ని మీరు కనుగొనవలసి ఉంటుంది.

కొన్ని హార్డ్‌వేర్ కాన్ఫిగరేషన్‌లు మాత్రమే ఈ దోష సందేశాన్ని ప్రేరేపిస్తాయని మీరు గమనించవచ్చు. ఎందుకంటే ఇది సాధారణంగా చాలా భౌతిక RAM ఉన్న యంత్రాలలో జరుగుతుంది, కానీ దాన్ని ఎలా ఉపయోగించాలో తక్కువ అలిమిట్లు. జావా భారీ బ్లాక్‌ను కేటాయించటానికి ప్రయత్నిస్తుంది, అది చేయలేమని చెప్పడానికి మాత్రమే, ఇది జ్ఞాపకశక్తి అయిపోయిందని వివరిస్తుంది.

విధానం 3: ప్రస్తుత జావా ఎంపికలను ముద్రించడం

మీరు కమాండ్ లైన్ వద్ద పనిచేస్తుంటే మరియు మీరు ప్రస్తుతం _JAVA_OPTIONS విలువను సెట్ చేసినదానికి శీఘ్ర సూచన కావాలనుకుంటే, ప్రతిధ్వని run _JAVA_OPTIONS ను అమలు చేయండి మరియు అది ప్రస్తుత విలువలను వెంటనే ప్రింట్ చేస్తుంది. మీరు ప్రయత్నించడానికి సరైన సంఖ్యలను గుర్తించడానికి ప్రయత్నిస్తున్నప్పుడు ట్రబుల్షూటింగ్ కోసం ఇది ఉపయోగపడుతుంది.

ఈ పరిష్కారానికి వేరే ఆట అవసరం కానప్పటికీ, వర్చువల్ మెమరీ యొక్క స్వల్ప చివరలో మీరు ఎప్పుడైనా నిజాయితీగా కనబడితే, జావా “ఆబ్జెక్ట్ హీప్ కోసం తగినంత స్థలాన్ని కేటాయించలేకపోయింది” సందేశాన్ని విసిరివేస్తుందని గుర్తుంచుకోండి. ఇదే జరిగితే, మీరు ప్రస్తుతం ఏ ప్రాసెస్‌లు నడుస్తున్నాయో రెండుసార్లు తనిఖీ చేయాలి మరియు అది ఒక ఎంపిక అయితే సర్వర్‌ను పున art ప్రారంభించండి. మీరు మరింత స్వాప్ స్థలాన్ని కూడా సృష్టించవచ్చు, కానీ ఇది ఒక సమస్య అయితే దాన్ని వేరే విధంగా ప్రయత్నించడం మరియు సరిదిద్దడం మంచిది.

మీ సెట్టింగులు సరిగ్గా ఉన్నట్లు అనిపించినప్పటికీ, అది ఇంకా పని చేయలేదు, మీరు 64-బిట్ జావా ప్యాకేజీని ఇన్‌స్టాల్ చేశారని నిర్ధారించుకోండి, ఎందుకంటే ఈ సమస్య నుండి రోగనిరోధకత ఉండాలి. వరుస మెమరీ అవసరాలు జావా యొక్క 32-బిట్ వెర్షన్‌కు మాత్రమే వర్తిస్తాయి. 64-బిట్ వెర్షన్ 32-బిట్ వర్చువల్ మెషీన్ను సృష్టించడానికి ప్రయత్నించినట్లు మేము కనుగొన్నాము, కాబట్టి కమాండ్ లైన్‌లో -d64 ఎంపికను పేర్కొనడం మన కోసం పరిష్కరించబడింది.

3 నిమిషాలు చదవండి