জেডিকে 8-তে পার্মজেন নির্মূলকরণ


229

আমি জেডিকে 8 ইনস্টল করেছি এবং গ্রহণের চেষ্টা করছি। আমি নিম্নলিখিত সতর্কতা বার্তা পাচ্ছি:

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m;
support was removed in 8.0 

এই ভিএম বিকল্পটি উপেক্ষা করার কারণগুলি কী কী?


4
আপনি এই তথ্যবহুল খুঁজে পেতে পারেন: javaeesupportpatterns.blogspot.co.uk/2013/02/…
অ্যান্ড্রু মার্টিন

উত্তর:


358

নিম্নলিখিত ত্রুটিগুলির কারণে এই যুক্তি উপেক্ষা করার কারণগুলি JDK8 এর জন্য হটস্পটে স্থায়ীভাবে প্রজন্মকে সরিয়ে দেওয়া হয়েছে

  • শুরুতে স্থির আকার - টিউন করা কঠিন।
  • অভ্যন্তরীণ হটস্পট প্রকারভেদগুলি ছিল জাভা অবজেক্টস: সম্পূর্ণ জিসি, অস্বচ্ছ, সাথে দৃ move়ভাবে টাইপ করা হয়নি এবং ডিবাগ করা শক্ত নয়, মেটা-মেটাডেটা দরকার।
  • সম্পূর্ণ সংগ্রহগুলি সরল করুন: প্রতিটি সংগ্রাহকের জন্য মেটাডেটার জন্য বিশেষ পুনরাবৃত্তিকারী
  • একযোগে ক্লাসের ডেটা ডিলোকেট করতে চান এবং জিসি বিরতির সময় নয়
  • PermGen দ্বারা সীমাবদ্ধ ছিল ভবিষ্যতের উন্নতি সক্ষম করুন।

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

মেটাস্পেসের সুবিধা

  • জাভা ল্যাঙ্গুয়েজ স্পেসিফিকেশন বৈশিষ্ট্যের সুবিধা নিন: ক্লাস এবং সম্পর্কিত মেটাডেটা লাইফটাইম ক্লাস লোডার এর সাথে মেলে
  • প্রতি লোডার সঞ্চয় স্থান - মেটাস্পেস
  • কেবল লিনিয়ার বরাদ্দ
  • কোনও পৃথক পুনঃনির্মাণ (পুনরায় সংজ্ঞা এবং শ্রেণি লোডিং ব্যর্থতা বাদে)
  • কোনও জিসি স্ক্যান বা কমপ্যাকশন নেই
  • মেটাস্পেস বস্তুর জন্য কোনও স্থানান্তর নেই

মেটাস্পেস টিউনিং

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

পরিবর্তন ভবিষ্যতে অন্যান্য অপ্টিমাইজেশন এবং বৈশিষ্ট্যগুলিকে সক্ষম করে

  • অ্যাপ্লিকেশন শ্রেণীর ডেটা ভাগ করে নেওয়া
  • তরুণ সংগ্রহ অপ্টিমাইজেশান, জি 1 শ্রেণি আনলোড হচ্ছে
  • মেটাডেটা আকার হ্রাস এবং অভ্যন্তরীণ JVM পাদদেশ প্রকল্পগুলি

উন্নত জিসি পারফরম্যান্সও রয়েছে। আরো বিস্তারিত


29
আমার উল্লেখ করা উচিত যে ইন্টার্নযুক্ত স্ট্রিংগুলি আগে পারমজেন স্পেসে সঞ্চিত ছিল, তবে জাভা
in-

বিস্তারিত ব্যাখ্যার জন্য ধন্যবাদ।
প্রদীপ

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

117

এটি জেডি 8 এর নতুন বৈশিষ্ট্যগুলির মধ্যে একটি, জেডিকে বর্ধন প্রস্তাবনা 122 এর অংশ :

হটস্পট জেভিএম থেকে স্থায়ী জেনারেশন সরান এবং এভাবে স্থায়ী প্রজন্মের আকার টিউন করা প্রয়োজন।

জাভা 8-তে অন্তর্ভুক্ত করা সমস্ত JEP- র তালিকা জেডিকে 8 মাইলফলক পৃষ্ঠায় পাওয়া যাবে ।


19

পার্মেনেন্ট জেনারেশন (পার্মগেন) স্থানটি পুরোপুরি সরিয়ে ফেলা হয়েছে এবং মেটাস্পেস নামক একটি নতুন স্থান দ্বারা প্রতিস্থাপিত হয়েছে the পার্মজেন অপসারণের পরিণতি হ'ল স্পষ্টতই পার্মসাইজ এবং ম্যাক্সার্মজ সাইজ জেভিএম যুক্তি উপেক্ষা করা হয় এবং আপনি কখনই পাবেন না java.lang.OutOfMemoryError: পার্মজেন ত্রুটি। জেডিকে 8 হটস্পট জেভিএম এখন ক্লাস মেটাডেটার প্রতিনিধিত্বের জন্য নেটিভ মেমরি ব্যবহার করছে এবং তাকে মেটাস্পেস বলে। আরও পড়ুন >>


3
'হটস্পট জেভিএম এখন ক্লাস মেটাডেটার উপস্থাপনের জন্য নেটিভ মেমরি ব্যবহার করছে। - এবং হটস্পট জেভিএম এর আগে কোন স্মৃতি ব্যবহার করেছিল? এবং 'নেটিভ মেমোরি' এক্সটলিটি কী?
আন্দ্রে এম। স্টেপানভ


12

পার্মগেন স্পেসটি জাভা ৮-এ মেটাস্পেস দ্বারা প্রতিস্থাপন করা হয়েছে Per

ক্লাস মেটাডেটার জন্য সর্বাধিক বরাদ্দ এখন দেশীয় মেমরির বাইরে বরাদ্দ। * ক্লাস মেটাডেটা বর্ণনা করতে ব্যবহৃত ক্লাসগুলি সরানো হয়েছে।

পুরানো পার্মজেন এবং নতুন মেটাস্পেসের মধ্যে প্রধান পার্থক্য হ'ল, আপনাকে মেমরির ব্যবহারের উপরের সীমাটি বাধ্যতামূলক করতে হবে না। আপনি মেটাস্পেস স্পেস সীমাটি সীমাহীন রাখতে পারেন। সুতরাং যখন মেমরির ব্যবহার বাড়বে আপনি আউটআফ-মেমরিরির ত্রুটি পাবেন না। পরিবর্তে সংরক্ষিত নেটিভ মেমরি বৃদ্ধি পূর্ণ মেমরির ব্যবহার বাড়ায়।

আপনি মেটাস্পেসের সর্বাধিক সীমা নির্ধারণ করতে পারবেন এবং তারপরে এটি আউটআফমিউরিওর: মেটাডেটা স্পেস ফেলে দেবে। সুতরাং এই সীমাটি সতর্কতার সাথে সংজ্ঞায়িত করা গুরুত্বপূর্ণ, যাতে আমরা স্মৃতির অপচয়কে এড়াতে পারি।


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