এক্সএক্স: ম্যাক্স্পার্মসাইজ কী করে?


259

বিশেষত, কেন এটি PermGen আউটআফমিউরিওর সমস্যাটি সমাধান করতে সহায়তা করবে?

এছাড়াও, একটি উত্তরের জন্য বোনাস পয়েন্ট যা আমাকে জেভিএম তর্কগুলিতে ডকুমেন্টেশনে দেখায় ...



6
oracle.com/technetwork/java/javase/tech/… আপনি এখন আমাকে এই বোনাস পয়েন্টগুলি কীভাবে দেবেন? :)
অস্বীকার করেছেন সাগুরেট

1
@ পোলটম্বলিন আমি নিশ্চিত নই যে আপনি যার নিবন্ধটির সাথে লিঙ্ক করছেন (গুগলের প্রথম ফলাফল) সে কী বলছে সে সম্পর্কে কোনও ধারণা আছে।
অস্বীকার করেন সাগুরেট

@ এডিস্ট্রয় আমি আপনাকে একটি কুকি পাঠাতে পারি? অথবা আপনি ঠিক উত্তর দেওয়া কোনও প্রশ্নে সন্তুষ্টি নিতে পারেন;)
জেফ

5
এই বিশেষভাবে প্রশ্নের উত্তর নেই কিন্তু আপনি জেভিএম মেমরি ব্যবস্থাপনা এ খুঁজছেন যদি, শ্রেষ্ঠ প্রবন্ধ আমি এটা উপর পড়া আছে হয় এই এবং এই infoq লিংক
আবে

উত্তর:


273

স্থায়ী স্থানটি যেখানে ক্লাস, পদ্ধতি, অভ্যন্তরীণ স্ট্রিং এবং ভিএম দ্বারা ব্যবহৃত অনুরূপ বস্তুগুলি সংরক্ষণ করা হয় এবং কখনই অবনতি হয় না (তাই নাম)।

এই ওরাকল নিবন্ধটি সংক্ষেপে হটস্পট জিসির কাজ এবং প্যারামিটারাইজেশন উপস্থাপন করে এবং আপনি অনেকগুলি ক্লাস লোড করলে এই স্থানটি বাড়ানোর পরামর্শ দেয় (এটি সাধারণত অ্যাপ্লিকেশন সার্ভারের জন্য এবং কিছু আইডিই যেমন একটিগ্রহের মতো হয়):

স্থায়ী প্রজন্মের বেশিরভাগ অ্যাপ্লিকেশনের জন্য আবর্জনা সংগ্রাহকের পারফরম্যান্সের উপর লক্ষণীয় প্রভাব নেই। তবে কিছু অ্যাপ্লিকেশন গতিশীলভাবে অনেকগুলি শ্রেণি তৈরি করে এবং লোড করে; উদাহরণস্বরূপ, জাভা সার্ভার পৃষ্ঠা (জেএসপি) পৃষ্ঠাগুলির কিছু বাস্তবায়ন implement অতিরিক্ত ক্লাসগুলি ধরে রাখতে এই অ্যাপ্লিকেশনগুলির আরও বৃহত্তর স্থায়ী প্রজন্মের প্রয়োজন হতে পারে। যদি তা হয় তবে সর্বাধিক স্থায়ী প্রজন্মের আকারটি কমান্ড-লাইন বিকল্প -XX: ম্যাক্স্পার্মসাইজ = দিয়ে বাড়ানো যেতে পারে।

নোট করুন যে এই অন্যান্য ওরাকল ডকুমেন্টেশনগুলি অন্যান্য হটস্পট আর্গুমেন্টের তালিকা করে।

আপডেট: জাভা 8 দিয়ে শুরু করে, পার্জেন স্পেস এবং এই সেটিংস উভয়ই গেছে। লোড হওয়া ক্লাস এবং পদ্ধতিগুলির জন্য ব্যবহৃত মেমরি মডেলটি আলাদা এবং সীমাবদ্ধ নয় (ডিফল্ট সেটিংস সহ)। আপনার আর এই ত্রুটিটি আর দেখা উচিত নয়।


93

-XX:PermSize -XX:MaxPermSize স্থায়ী জেনারেশনের জন্য আকার নির্ধারণ করতে ব্যবহৃত হয়।

স্থায়ী জেনারেশন: স্থায়ী জেনারেশন যেখানে ক্লাস ফাইলগুলি রাখা হয়। এগুলি সংকলিত ক্লাস এবং জেএসপি পৃষ্ঠাগুলির ফলাফল। যদি এই স্থানটি পূর্ণ হয় তবে এটি একটি সম্পূর্ণ আবর্জনা সংগ্রহের সূচনা করে। যদি পুরো আবর্জনা সংগ্রহ পুরানো অননুমোদিত ক্লাসগুলি পরিষ্কার করতে না পারে এবং স্থায়ী স্থান বাড়ানোর জন্য কোনও স্থান অবশিষ্ট থাকে না, তবে একটি আউট অফ মেমরি ত্রুটি (ওওম) নিক্ষেপ করা হয় এবং জেভিএম ক্র্যাশ হয়ে যায়।


48

জাভা 8-তে এই পরামিতিগুলি সাধারণত এর মতো সতর্কতা বার্তা প্রিন্ট করতে ব্যবহৃত হয়:

জাভা হটস্পট (টিএম) -৪-বিট সার্ভার ভিএম সতর্কতা: ম্যাক্সপার্মসাইজ = 512 এম বিকল্প উপেক্ষা করা; সমর্থন 8.0 সালে সরানো হয়েছে

জাভা 8-এ আপনি এই বার্তাটি পাওয়ার কারণটি হ'ল পারমজেনের কিছু ত্রুটিগুলি সমাধান করার জন্য মেটাসস্পেস দ্বারা প্রতিস্থাপন করা হয়েছে (আপনি নিজেরাই দেখতে সক্ষম হয়েছিলেন, সেই ত্রুটিগুলির মধ্যে একটি হ'ল এটির একটি নির্দিষ্ট আকার ছিল)।

এফওয়াইআই: মেটাস্পেসের একটি নিবন্ধ: http://java-latte.blogspot.in/2014/03/metaspace-in-java-8.html


6
আরও দেখুন: জেডিকে 8 (স্ট্যাকওভারফ্লো) এ PermGen নির্মূলকরণ
হবে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.