আমি কেবল বুঝতে পেরেছি যে আমার সিস্টেমটি ব্যবহারকারীর প্রতি প্রক্রিয়াগুলির পরিমাণ সঠিকভাবে সীমাবদ্ধ করছে না এভাবে কোনও ব্যবহারকারীকে কাঁটাচামচ করা থেকে বিরত রাখতে এবং পুরো সিস্টেমটি ক্র্যাশ করে না:
user@thebe:~$ cat /etc/security/limits.conf | grep user
user hard nproc 512
user@thebe:~$ ulimit -u
1024
user@thebe:~$ :(){ :|:& };:
[1] 2559
user@thebe:~$ ht-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
...
Connection to thebe closed by remote host.
এটি কি কোনও বাগ বা কেন এটি সীমাটিকে উপেক্ষা করছে limits.conf
এবং কেন এটি ulimit -n
দাবি করার সীমাটি প্রয়োগ করছে না?
PS: আমি সত্যিই মনে করি না প্রক্রিয়া সীমা আগে মেমরি সীমা হিট হয়। এই মেশিনটিতে 8 গিগাবাইট র্যাম রয়েছে এবং আমি যখন কাঁটাচামচ বোমা ফেলেছিলাম তখন এটি কেবল 4% ব্যবহার করে।
সম্পাদনা করুন:
আমি এটি একটি লাইভ সিডিতে পুনরুত্পাদন করতে পরিচালিত। সুতরাং আমার ধারণা এটি অবশ্যই একটি বাগ হতে হবে। এটি সিস্টেমের সমালোচনামূলক জিনিস যেমন এক্স 11, এসএসএইচডি ইত্যাদি সহ সমস্ত প্রক্রিয়াটিকে হত্যা করে bas
যে কোনও ব্যবহারকারী সিস্টেমটি ক্র্যাশ করতে পারে।
user@thebe:~$ ulimit -u
1024
ulimit -u
দৌড়ব তখন আমি ৩১৩২৫ পেয়ে যাব I আমি যখন চালাচ্ছি তখন ulimit -u 512
এটি 12১২ হয়ে যায় that
ulimit -u