CodeGym/Java Course/মডিউল 3/জাভাতে একটি আবর্জনা সংগ্রহকারী নির্বাচন করা

জাভাতে একটি আবর্জনা সংগ্রহকারী নির্বাচন করা

বিদ্যমান

7.1* কিভাবে সঠিক আবর্জনা সংগ্রহকারী নির্বাচন করবেন

যদি আপনার অ্যাপ্লিকেশনের কঠোর লেটেন্সি প্রয়োজনীয়তা না থাকে, তাহলে আপনার কেবল অ্যাপ্লিকেশনটি চালানো উচিত এবং JVM-কে নিজেই সঠিক সংগ্রাহক চয়ন করতে দেওয়া উচিত।

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

  • অনুক্রমিক । যদি অ্যাপ্লিকেশনটিতে একটি ছোট ডেটা সেট থাকে (প্রায় 100 এমবি পর্যন্ত) এবং/অথবা এটি কোনো লেটেন্সি প্রয়োজনীয়তা ছাড়াই একটি একক প্রসেসরে চলবে।
  • সমান্তরাল । যদি অগ্রাধিকারটি হয় অ্যাপ্লিকেশনের সর্বোচ্চ কর্মক্ষমতা এবং কোনো বিলম্বের প্রয়োজনীয়তা না থাকে (বা এক সেকেন্ড বা তার বেশি বিরতি গ্রহণযোগ্য)।
  • CMS/G1 । যদি প্রতিক্রিয়া সময় সামগ্রিক থ্রুপুটের চেয়ে বেশি গুরুত্বপূর্ণ হয়, এবং আবর্জনা সংগ্রহের বিরতি এক সেকেন্ডের চেয়ে কম হওয়া উচিত।
  • জেডজিসি । যদি প্রতিক্রিয়া সময় উচ্চ অগ্রাধিকার হয় এবং/অথবা একটি খুব বড় গাদা জড়িত থাকে।

7.2* আবর্জনা সংগ্রহের জন্য সুপারিশ

ম্যানুয়াল ট্রিগার এড়িয়ে চলুন

আবর্জনা সংগ্রহের মৌলিক প্রক্রিয়াগুলি ছাড়াও, জাভাতে এই প্রক্রিয়া সম্পর্কে সবচেয়ে গুরুত্বপূর্ণ বিষয়গুলির মধ্যে একটি হল এটি অ-নির্ধারক। অর্থাৎ, রান টাইমে ঠিক কখন এটি ঘটবে তা ভবিষ্যদ্বাণী করা অসম্ভব।

সিস্টেম।

বিশ্লেষণ সরঞ্জাম ব্যবহার করুন

আপনার অ্যাপ্লিকেশন চালানোর জন্য যদি আপনার যথেষ্ট মেমরি না থাকে, তাহলে আপনি মন্থরতা, দীর্ঘ আবর্জনা সংগ্রহের সময়, "ওয়ার্ল্ড স্টপ" ইভেন্ট এবং অবশেষে মেমরির বাইরের ত্রুটিগুলি অনুভব করবেন৷ এটি নির্দেশ করতে পারে যে স্তূপটি খুব ছোট, তবে এটি ইঙ্গিতও করতে পারে যে অ্যাপ্লিকেশনটিতে একটি মেমরি লিক রয়েছে৷

আপনি jstat বা জাভা ফ্লাইট রেকর্ডারের মতো একটি মনিটরিং টুল ব্যবহার করতে পারেন যে হিপ ব্যবহার অনির্দিষ্টকালের জন্য বৃদ্ধি পায় কিনা, যা কোডে একটি বাগ নির্দেশ করতে পারে।

ডিফল্ট সেটিংস পছন্দ করুন

আপনার যদি একটি ছোট, স্বতন্ত্র জাভা অ্যাপ্লিকেশন থাকে, তাহলে সম্ভবত আপনাকে আবর্জনা সংগ্রহ সেট আপ করতে হবে না। ডিফল্ট সেটিংস আপনাকে ভাল পরিবেশন করবে।

কাস্টমাইজ করতে JVM পতাকা ব্যবহার করুন

জাভাতে আবর্জনা সংগ্রহ স্থাপনের সর্বোত্তম পদ্ধতি হল JVM পতাকা সেট করা। আবর্জনা সংগ্রাহক (উদাহরণস্বরূপ, সিরিয়াল, জি 1, ইত্যাদি), স্তূপের প্রাথমিক এবং সর্বাধিক আকার, গাদা পার্টিশনের আকার (উদাহরণস্বরূপ, তরুণ প্রজন্ম, পুরানো প্রজন্ম) সেট করতে পতাকা ব্যবহার করা যেতে পারে। আরো

সঠিক কল চয়ন করুন

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

একই সময়ে, CMS আবর্জনা সংগ্রাহককে লেটেন্সি কমানোর জন্য ডিজাইন করা হয়েছে, যা ওয়েব অ্যাপ্লিকেশনের জন্য আদর্শ করে তোলে যেখানে প্রতিক্রিয়াশীলতা গুরুত্বপূর্ণ।

মন্তব্য
  • জনপ্রিয়
  • নতুন
  • পুরানো
মন্তব্য লেখার জন্য তোমাকে অবশ্যই সাইন ইন করতে হবে
এই পাতায় এখনও কোনো মন্তব্য নেই