বুট করার সময়, pid_max
উপলব্ধ সিপিইউর সংখ্যার উপর নির্ভর করে কার্নেল ডিফল্টটিকে সামঞ্জস্য করে । যখন সংখ্যাটি কম হয়, ততক্ষণে 3232 usual। টি নির্বাচন করা হয়। অন্যভাবে গণনাটি নিম্নলিখিতভাবে করা হয় (এখানে একটি 3.10 কার্নেলটি আরএইচএল এর অনুরূপ দেখানো হয়েছে তবে কিছু পরিবর্তনের পাশে এটি সাম্প্রতিক কোনও লিনাক্স কার্নেলের জন্য সমান):
include/linux/threads.h
:
/ *
* এটি কোনও প্রক্রিয়াতে বরাদ্দ করা ডিফল্ট সর্বাধিক পিড নিয়ন্ত্রণ করে
* /
# নির্ধারিত পিআইডি_ম্যাক্স_ডিএফএলটি (কনফিগ_বিএএসএসএল? 0x1000: 0x8000)
0x8000 = 32768 হল 32 টিরও কম সিপিইউ থ্রেড সহ সিস্টেমগুলিতে ব্যবহৃত স্বাভাবিক মান।
এবং পরে:
# নির্ধারিত PIDS_PER_CPU_DEFAULT 1024
এই মানগুলি তখন ব্যবহৃত হয় kernel/pid.c
:
int pid_max = PID_MAX_DEFAULT;
এবং পরে :
/ * সিপাসের সংখ্যার ভিত্তিতে বাম্প ডিফল্ট এবং সর্বনিম্ন পিড_ম্যাক্স * /
পিড_ম্যাক্স = মিনিট (পিড_ম্যাক্স_ম্যাক্স, ম্যাক্স_টি (ইনট, পিড_ম্যাক্স,
PIDS_PER_CPU_DEFAULT * num_possible_cpus ()));
পিড_ম্যাক্স_মিনি = সর্বোচ্চ_আর (ইনড, পিড_ম্যাক্স_মিনি,
PIDS_PER_CPU_MIN * num_possible_cpus ());
pr_info ("পিড_ম্যাক্স: ডিফল্ট:% ইউ ন্যূনতম:% u \ n", পিড_ম্যাক্স, পিড_ম্যাক্স_মিন);
সুতরাং ওপি থেকে এর অর্থ মোট মোট 458752/1024 = 448 একসাথে থ্রেড উপলব্ধ: বেশ অনেকগুলি। অন্যান্য সিস্টেমে সম্ভবত অনেকগুলি সিপিইউ / কোর / থ্রেড ইত্যাদি নেই, তাই নিম্ন ডিফল্ট রয়েছে pid_max
।
kernel_pid_max
আপনারsysctl.conf
কারণ এটি হওয়া উচিতkernel.pid_max
।