গার্বেজ কালেক্টর ও বিরতি
স্বাভাবিক TPS-এ সার্ভার কেন কয়েক সেকেন্ডের জন্য ফ্রিজ হয়: গার্বেজ কালেকশন কীভাবে কাজ করে, লগে কীভাবে দেখবেন এবং আসলে কী সাহায্য করে।
আপডেট: ১৩ আগস্ট, ২০২৬
Java বিরতিতে মেমোরি মুক্ত করে: অ্যাপ্লিকেশন থামে, গার্বেজ কালেক্টর গার্বেজ সরায়, তারপর কাজ চলতে থাকে। দীর্ঘ বিরতি পুরো সার্ভার ফ্রিজ হয়ে যাওয়ার মতো দেখায়।
লক্ষণ
- গড় TPS স্বাভাবিক, কিন্তু প্রতি কয়েক মিনিটে একবার সবকিছু ১–৫ সেকেন্ডের জন্য ফ্রিজ হয়ে যায়।
- Paper লগে:
Can't keep up! Did the system time change, or is the server overloaded?— বিশ্লেষণ। spark healthGC-তে ব্যয় হওয়া সময়ের অংশ দেখায়।
কী প্রভাব ফেলে
| কারণ | প্রভাব |
|---|---|
| হিপ সাইজ | বড় হিপ — দীর্ঘ বিরতি |
| গার্বেজ তৈরির হার | যে প্লাগইন ও মডগুলো লুপে অবজেক্ট তৈরি করে |
| কালেক্টর | ডিফল্টভাবে G1; ZGC বড় হিপে ছোট বিরতি দেয় |
| কোর সংখ্যা | সমান্তরাল কালেকশন দ্রুততর |
কী করবেন
- "বেশি মার্জিন রেখে" মেমোরি দেবেন না। যেখানে ৮ যথেষ্ট, সেখানে ৩২ GB মানে দীর্ঘ বিরতি। একটি নির্দেশিকা হলো পিক প্লাস ৩০–৫০% — কত মেমোরি প্রয়োজন।
- গার্বেজের উৎস খুঁজুন।
spark heapsummaryদেখাবে কী হিপ ভরছে। প্রায়ই এটি একটি নির্দিষ্ট প্লাগইন বা মড। - ফ্ল্যাগ। Millida-তে ইতিমধ্যে টিউন করা G1 সেট করা আছে; ইন্টারনেট থেকে ম্যানুয়াল সেট বেশি ক্ষতি করে — Aikar-এর ফ্ল্যাগ।
কী করবেন না
"গার্বেজ কালেক্টর নিষ্ক্রিয় করার" চেষ্টা করবেন না — এমন কোনো অপশন নেই। প্ল্যানের মেমোরি পরিমাণের চেয়ে বেশি -Xmx সেট করবেন না: সীমা ছাড়ানোর চেষ্টা করলে প্রসেসটি কিল হয়ে যাবে — OutOfMemoryError।
Minecraft হোস্টিংআপনি অফলাইনে থাকলেও আপনার সার্ভার চলেসার্ভার তৈরি করুন
