ডেক্স কার্যকর করতে অক্ষম: গ্রিসে জিসি ওভারহেড সীমা অতিক্রম করেছে


213

আমি যখন গিট প্রকল্প ওস্মঅ্যান্ড ডাউনলোড করেছি এবং এটি সংকলন করতে গিয়েছিলাম, তখন এক্সিলিপগুলি এই ত্রুটিগুলি ফিরিয়ে দিয়েছে:

[Dex Loader] Unable to execute dex: GC overhead limit exceeded
[OsmAnd]     Conversion to Dalvik format failed: 
             Unable to execute dex: GC overhead limit exceeded

গুগল এবং Stackoverflow বলেন যে আমি পরিবর্তন করতে হবে -Xms40m -Xmx384mযে eclipse.iniডালভিক ফর্ম্যাটে রূপান্তর ব্যর্থ হয়েছে: ডেক্স: জাভা হ্যাপ স্পেস কার্যকর করতে অক্ষম
আমি প্রকল্পটি পরিষ্কার করে নিয়েছিলাম এবং পুনরায় সূচনা Eclipse করেছিলাম, তবে তাতে কোনও লাভ হয়নি।

আমি এই লিঙ্কটি পেয়েছি: অ্যান্ড্রয়েড বিকাশকারীদের জন্য টিপস: "ডালভিক ফর্ম্যাটে রূপান্তর ব্যর্থ হয়েছে: ডেক্স কার্যকর করতে অক্ষম: নাল" তবে .jarআমার প্রকল্প থেকে কোনটি ইনপুট পরিবর্তন করতে পারে তা আমি জানি না anyone যদি কেউ সহায়তা করতে পারে তবে আমি প্রকল্পটি প্রেরণ করতে পারি তাদের।

উত্তর:


437

এটি Eclipse.ini এ ভিএম মান পরিবর্তন করে ঠিক করা যেতে পারে। নীচের মত মান 512 এবং 1024 এ সেট করুন:

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m

চিত্রের পরিবর্তিত অঞ্চল এখানে চিত্র বর্ণনা লিখুন


8
ধন্যবাদ। আমি অবাক হয়েছি কেন ডিফল্টগুলি এখনও একেবারে অপর্যাপ্ত, আমি মনে করি না যে কেউ 512-1024 এরও কম সময় নিয়েই গ্রহন চলছে - আমি তার চেয়ে দ্বিগুণও গিয়েছিলাম। এছাড়াও আমি চাই যে সেটিংসগুলি আমার বাড়ির ডিরেক্টরিতে কোনও আইএনআই ফাইলের পরিবর্তে কয়েকটি আপগ্রেডের সাথে ওভাররাইট করা ফাইলের পরিবর্তে কিছু কনফিগ ফাইলে সংরক্ষণ করা হত।
ইয়িশিমা

11
আপনার কি --launcher.XXMaxPermSize 512mদুবার দরকার ?
অ্যান্ড্রু ওয়াইল্ড

4
এই সংখ্যার সীমা কি? এগুলি স্থাপনের জন্য আমার কত উচ্চ বিবেচনা করা উচিত?
ইজিচিজ

5
@ মুহাম্মাদরিয়াজ এটি আপনার ওএস এবং আপনি 32-বিট বা 64-বিট জেভিএম ব্যবহার করছেন কিনা তার উপর নির্ভর করে। যদি আপনি একটি bit৪ বিট জেভিএম এ থাকেন তবে আপনি ওএস / অন্যান্য অ্যাপ্লিকেশনগুলির জন্য এটি আপনার র‍্যাম আকারের বিয়োগ ওভারহেডের চেয়ে ছোট কিছুতে নিরাপদে সেট করতে পারেন। একটি 32 বিট ভিএম-তে, আপনি এটিকে প্রায় 1500 এম (লিনাক্সে) বা 1100 এম (উইন্ডোজে) এর চেয়ে ছোট রাখতে চাইবেন কারণ ভিএমকে সংক্ষিপ্ত ঠিকানা স্থান বরাদ্দ করতে হবে, এবং এটি 32-বিট অ্যাপ্লিকেশনগুলির জন্য একটি খুব সীমিত সংস্থান।
জুলাই

4
-এক্সএক্স: ম্যাক্সপার্মসাইজ = 1024 মি-এক্সএম 1024 মি-এক্সএমএক্স 2048 মি সহায়তা করেছে
ক্রেকার


7

eclipse.ini দেখতে এই রকম।

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xmx1024m

5

আমাকে ধরে নিতে দাও যে অ্যান্ড্রয়েড এক্সএমএলের কারণে এই সমস্যাটি হয়েছিল, কারণ আপনি প্রায়শই এটি খোলেন

স্ট্যাকওভারফ্লোতে নিম্নলিখিত দুটি ইস্যু একে অপরের সাথে প্রকাশিত হয়েছে:

প্রতিবার যখনই আমি Elpipse এ কোনও Android XML ফাইলে ক্লিক করি তখন এটি সমস্ত API সংস্করণের ডেটা লোড করে

এবং

ডেক্স কার্যকর করতে অক্ষম: জিসি ওভারহেড সীমা অতিক্রম করেছে

ভিএম মানগুলি বাড়ানো বা পুরানো এডিটি সংস্করণে ডাউনগ্রেড করা (22.6.2 বা 23.2) ব্যতীত এই সমস্যার সমাধানের জন্য আমি আরও একটি সমাধান পেয়েছি

বিঃদ্রঃ:

কিছু পুরানো এডিটি সংস্করণ যা এক্সএমএল প্রতিবার লোড করবে না এবং আপনি যখনই খুলবেন তখন কোনও মেমরির ওভারফ্লো না হওয়ার কারণ এই জিসি ওভারহেড সীমাটি প্রথম থ্রেডে আলোচিত হিসাবে ছাড়িয়ে গেছে

সমাধান:

গ্রহনের নীচে ট্র্যাশ ক্যান প্রতীক থাকবে যা রান কচুরিপঞ্জি সংগ্রাহক বলে । আপনি যখনই অ্যান্ড্রয়েডের একটি এক্সএমএল ফাইলটি বন্ধ করবেন তখন মেমরির প্রকাশের জন্য কেবল ট্র্যাশ ক্যান বা রান আবর্জনা সংগ্রহে ক্লিক করতে ভুলবেন না । আপনি ওয়ার্কস্পেসকে এই জাতীয় ত্রুটি ক্রাশ থেকে রক্ষা করতে পারেন: ডি

এটি একটি চূড়ান্ত সমাধান হতে পারে কারণ আপনি যদি খুব ঘন ঘন আপনার অ্যান্ড্রয়েড এক্সএমএলটি খুব ঘন ঘন খোলেন বিশেষত যদি আপনি আমার মতো ইউআই কাজ করে থাকেন তবে আপনি পিএম এর ভিএম মান বাড়িয়ে তুলতে পারবেন না: পি

আমি আশা করি এটি এই থ্রেডে আগত সকলকে সহায়তা করবে :)

শান্ত এবং কোড চালু রাখুন


1

এই ত্রুটি সহ 12 ঘন্টা পরে এবং eclipse.ini ফাইল পরিবর্তন করে কোনও সাফল্যই আমি অবশেষে সঠিক সমাধানটি খুঁজে পেলাম। আমার পরিবেশের ভেরিয়েবলগুলিতে "_JAVA_OPTIONS" নামে একটি ভেরিয়েবল ছিল "-Xmx512M" মানযুক্ত। এই মানটিকে eclipse.ini (-Xmx4096M) এর মতো একই মানতে পরিবর্তন করাতে আমি আবারও আমার প্রকল্পটি একটি এপিকে ফাইলে রফতানি করতে সক্ষম হয়েছি।


প্রকৃতপক্ষে এটি একটি বাস্তব গুরুত্বপূর্ণ টিপ হতে পারে, আপনি আপনার সিস্টেমের ভেরিয়েবলগুলি থেকে _ জেভিএ_অপশনগুলি মুছতে পারেন (দ্রুত পরিবেশ সম্পাদক ব্যবহার করুন) অন্যথায় অগ্রগতি কিছু কারণে অভিযোগ শুরু করতে পারে। ভিক্টরকে অনেক ধন্যবাদ
সাইমন

1

আমি এই কাজের চারপাশের কারণটি জানি না, তবে উপরের সমস্ত লোক যখন জানে না তখন এটি আমার জন্য সর্বদা কাজ করে।

শর্ট-কাট বা কোনও লিঙ্ক থেকে গ্রহন শুরু করবেন না। এটি eclipse.exeআপনার গ্রহগ্রাহ ফোল্ডারের মধ্যে থেকে সর্বদা খুলুন , খুব ফোল্ডারটি এটি ধারণ করেeclipse.ini

দ্রষ্টব্য - আমি কেবল লিনাক্সের জন্য চেষ্টা করেছি।


1

এই বিরক্তিকর বার্তাটি এড়াতে আমাকে নীচে আমার কনফিগারেশনটি পরিবর্তন করতে হয়েছিল:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-

144807
-product
com.android.ide.eclipse.adt.package.adtproduct
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

উত্তরের ভিত্তিতে সঠিক, পরিবর্তিত হিসাবে চিহ্নিত করা হয়েছে

-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

এবং:

--launcher.XXMaxPermSize
1024m

1
1) Open eclipse.ini file
2)change
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m
3)Restart eclipse

একই গ্রহগ্রহ.ইনাই ফাইলটি গ্রহনের এই মূল পাথের গ্রহপথে অবস্থিত হবে:

C:\Users\username\Downloads\adt-bundle-windows-x86_64-20140702\eclipse\eclipse.ini

একই ফাইলটি অ্যান্ড্রয়েড স্টুডিও প্রকল্পে অবস্থিত: -

C:\Users\username\AppData\Local\Android\sdk\tools\lib\monitor-x86_64\monitor(Type:Configuration settings)

0

যদি এই উত্তরগুলি কাজ না করে (তারা আমার পক্ষে করেনি) তবে এটি চেষ্টা করে দেখুন:

1) আপনার কর্মক্ষেত্রে আপনার .মেডাটাটা ফোল্ডারের একটি অনুলিপি করুন।

2) কপি তৈরি করার পরে আপনার .মেডাটাটা ডিরেক্টরি মুছুন

3) Elpipse খুলুন এবং Eclipse বন্ধ করুন।

4) আপনার পুরানো .মেডাটাটা থেকে আপনার নতুন

5) সমস্ত প্রকল্পগুলি আপনার ওয়ার্কস্পেসে ফিরে আমদানি করুন

6) শান্ত এবং কোড চালু রাখুন!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.