একটি নির্দিষ্ট প্রক্রিয়া জন্য মেমরি সীমা কিভাবে সেট করবেন?


10

আমি mpiexec -16 ...একটি 384 গিগাবাইট র‌্যাম সার্ভারে মৃত্যুদন্ড কার্যকর করার চেষ্টা করেছি , তবে এটি ওওম কিলারকে প্ররোচিত করেছিল এবং তাকে বাতিল করে দেওয়া হয়েছিল।

আমি কীভাবে mpiexecকার্যকর করার জন্য একটি স্মৃতি সীমা নির্ধারণ করতে পারি ?

আমি জানি ulimit, তবে এটি অন্যান্য প্রক্রিয়াগুলিকে প্রভাবিত করতে পারে।

ধন্যবাদ.

উত্তর:


9

আমি মনে করি এটি ব্যবহার করে করা যেতে পারে cgroups:

mpigroupমেমরি সীমা (উদাহরণস্বরূপ, 50 গিগাবাইট) সহ একটি সিগ্রুপ তৈরি করুন (বা আপনি যে নামটি চয়ন করুন):

cgcreate -g memory,cpu:mpigroup
cgset -r memory.limit_in_bytes=$((50*1024*1024*1024)) mpigroup

তারপরে, এমপিএক্সেক যদি ইতিমধ্যে চলমান থাকে তবে এটিকে এই গোষ্ঠীতে আনুন:

cgclassify -g memory,cpu:mpigroup $(pidof mpiexec)

অথবা mpiexecএই সিগ্রুপের মধ্যে চালিত করুন:

cgexec -g memory,cpu:mpigroup mpiexec -16 ...

না করা উচিত memoryনিয়ামক যথেষ্ট হবে: cgcreate -g memory:mpigroup?
হিমাইল

@ হেইমাইল হওয়া উচিত। আমি কেবল এই উদাহরণটি সোজা উইকি থেকে
তুলেছি

সেটিংস / sys / fs / cgroup / মেমোরি / এ সংরক্ষণ করা হয়, এবং sudo কাজ করতে sudo ব্যবহার না করে ব্যর্থ না হলেও এমনকি প্রয়োজনীয় হয়
কুম্ভ শক্তি পাওয়ার

আমি শারীরিক মেমরি 2 জিবিতে সীমাবদ্ধ করতে পেরেছি, পুরোপুরি কাজ করেছি, তবে ভার্চুয়াল মেমরিটি এখনও 8 গিগাবাইটে চলেছিল, তবে এটি পুরোপুরি ঠিক ছিল কারণ ওয়াইন গেমটি অন্য সমস্ত লিনাক্স অ্যাপ্লিকেশনগুলিকে অদলবদল করার পরিবর্তে অদলবদল ব্যবহার করবে এবং এটি তৈরি হয়েছিল পুরো সিস্টেম আরও ভাল কাজ! ধন্যবাদ!
অ্যাকোরিয়াস পাওয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.