লিনাক্স / ইত্যাদি / সুরক্ষা / লিমিট.কনফ ব্যাখ্যা


9

সীমাবদ্ধতা আইনে আইটেমগুলি সম্পর্কে বিশদ সরবরাহ করে এমন কোনও ব্যক্তি (বা কোনও উত্স সম্পর্কে জানেন) ব্যাখ্যা করতে পারেন? ম্যান পেজটি খুব বেশি বিশদ দেয় না।

উদাহরণস্বরূপ এটি বলে:

rtprio 
maximum realtime priority allowed for non-privileged processes (Linux 2.6.12 and higher) 

priority 
the priority to run user process with (negative values boost process priority) 

এগুলি কীভাবে আলাদা? তারা কোন মূল্যবোধ নিতে পারে? তারা ডিফল্ট কি?

কিছু আইটেম সুস্পষ্ট, তবে এর থেকে আরও ভাল ব্যাখ্যা (ডিফল্ট মান, ব্যাপ্তি, তারা আসলে কী বোঝাতে পারে) কোথায় পাব:

data 
maximum data size (KB) 

fsize 
maximum filesize (KB) 

memlock 
maximum locked-in-memory address space (KB) 

cpu 
maximum CPU time (minutes) 

nice 
maximum nice priority allowed to raise to (Linux 2.6.12 and higher) values: [-20,19] 

সিপিইউ ছাড়িয়ে গেলে কী ঘটে? প্রক্রিয়া গুলো মারা যায়? কেবলমাত্র একটি প্রক্রিয়া বা পুরো ব্যবহারকারীর সিপিইউ ব্যবহার নিষিদ্ধ? এটি কি এক সেশনের জন্য বা প্রতি মিনিটে সর্বাধিক সময়ের জন্য?

আমি উত্তরগুলি খুঁজতে চেষ্টা করেছিলাম তবে আমি যা খুশি তা হ'ল একটি ম্যান পেজ যা প্রায় কোনও বিবরণ দেয় না।


লুনটাক্স লিনাক্স প্রশাসনের একটি দুর্দান্ত ভূমিকা - যদিও এটি সীমাবদ্ধতাগুলি সম্পর্কে খুব বেশি বিশদ সরবরাহ করে না, তবে আপনাকে এই তথ্যটি কোথায় পাওয়া যায় তা বলে দেয় - rute.2038bug.com/index.html.gz
সিমসিবিয়ান

উত্তর:


18
rtprio 
maximum realtime priority allowed for non-privileged processes (Linux 2.6.12 and higher) 

priority 
the priority to run user process with (negative values boost process priority) 

এগুলি আলাদা কেন?

লিনাক্সে বিভিন্ন শ্রেণীর প্রসেসি শিডিয়ুলার রয়েছে। ডিফল্ট এক (সিএফকিউ) মূলত প্রতিটি প্রক্রিয়া চালাতে ইচ্ছুক সমান পরিমাণ সময় স্লাইস দেয় এবং চলমান কাজগুলিকে এমনভাবে সারিবদ্ধ করে দেয় যাতে প্রত্যেকে প্রত্যেকে গড়ে ওঠার জন্য সমান পরিমাণের জন্য অপেক্ষা করে। এই নিয়মের কিছু ব্যতিক্রম বিদ্যমান তবে এটি মূল ধারণাটিকে সমর্থন করে।

সময়সূচীর আর একটি ক্লাস রিয়েলটাইম শিডিয়ুলার। রিয়েলটাইম কিছুটা আলাদা, বরং ন্যায্য কুইউনিং স্কিমের জন্য রান রানযোগ্য টাস্কগুলি, রিয়েলটাইম প্রক্রিয়াটি প্রসেসের প্রয়োজনের সাথে সাথেই সিপিইউ সময় পাবে, এটি 'রিয়েলটাইম'র জন্য জায়গা তৈরি করার জন্য সিপিইউ থেকে একটি চলমান প্রক্রিয়া উড়িয়ে দেয় real 'প্রক্রিয়া।

তারা কোন মূল্যবোধ নিতে পারে?

'অগ্রাধিকার' যা করে তা হ'ল প্রক্রিয়াজাতকরণের বৈশিষ্ট্যকে পরিবর্তন করে যাতে লগইন করার সময় আপনার মূল প্রক্রিয়াটি একটি নির্দিষ্ট কৌতূহল থেকে শুরু হয়, আপনি যে কোনও শিশু প্রক্রিয়া ব্যবহার করেন তা একই কমনীয়তায় শুরু হয়।

এটি অন্যান্য প্রতিযোগিতামূলক প্রক্রিয়াগুলির পক্ষে এটি নির্ধারিত হওয়ার সম্ভাবনা তৈরি করার আরও বেশি প্রভাব ফেলে এবং ব্যবহারকারীর অভিজ্ঞতাটি যদি কুলুঙ্গিটি উত্থাপিত হয় তবে নীচের বৈশিষ্ট্যের মানগুলির জন্য আরও প্রতিক্রিয়াশীল / ইন্টারেক্টিভ এবং কম প্রতিক্রিয়াশীল / ইন্টারেক্টিভ হতে পারে।

সাধারণ লগইন ব্যবহারকারীদের উদাহরণস্বরূপ পরিষেবাযোগ্য ডেমনগুলির তুলনায় কম অগ্রাধিকার পাওয়া বা অন্য সমস্ত কিছুর তুলনায় মূলকে লগইনকে বেশি অগ্রাধিকার দেওয়া গুরুত্বপূর্ণ হতে পারে।

রিয়েলটাইম হিসাবে, বিতর্কটি 'আরটিপ্রিও' ক্ষেত্রের সাথে পরিচালিত হয়। আপনার যদি দুটি রিয়েলটাইম টাস্ক উভয়ই চালনা করতে চান তবে প্রথমে অগ্রাধিকারের জন্য কোন প্রক্রিয়াটি বেছে নেবে তা নির্ধারণ করতে 'rtprio' মান ব্যবহৃত হয়। একটি উচ্চতর আরটিপ্রিও উচ্চতর অগ্রাধিকারের কাজগুলি উত্পাদন করে।

সীমাবদ্ধতার মধ্যে এটি সেট করে। মান সেট করার জন্য রিয়েলটাইম টাস্কগুলিকে মান নির্ধারণের জন্য মূল প্রয়োজন না করে নির্দিষ্ট অগ্রাধিকার ব্যান্ডিংয়ে সেট করার অনুমতি দেয়। রিয়েলটাইম শিডিয়ুলার ব্যবহার করে চালানোর জন্য সেট না করা কর্মগুলিতে এর কোনও প্রভাব নেই।

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

খেলাপি কী?

'ডিফল্ট' সীমা - প্রযুক্তিগতভাবে সেগুলি কি পিড 1 তে নির্ধারিত হয় যদি স্পষ্টভাবে সেট না করা হয়, উত্সের সীমাটি পিতামাতার প্রক্রিয়া থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয়, যদি কোনও সীমা নির্ধারণ করা হয় না বা কোথাও ওভাররাইড করা হয় তবে সেখান থেকে প্রাপ্ত উত্তরাধিকারটিই initডিফল্ট।

অন্যান্য মান

data 
maximum data size (KB) 

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

এর সম্ভাবনা কম আপনি কখনই এই সীমাটিকে হিট করবেন কারণ malloc () খুব কমই ডেটা সঞ্চয় করার জন্য ডেটা বিভাগটিকে অতিরিক্ত ব্যবহার করে।

fsize 
maximum filesize (KB) 

এটি আক্ষরিকভাবে সর্বাধিক আকার নির্ধারণ করে যে কোনও ফাইল সেই ব্যবহারকারী হিসাবে লেখা যেতে পারে।

memlock 
maximum locked-in-memory address space (KB) 

কোনও অ্যাপ্লিকেশন অর্জন করা প্রায় সমস্ত স্মৃতিই 'উচ্ছেদযোগ্য'। সেটিই অদলবদল করা যায়। মেমরি লক করা মেমরি কখনই অদলবদল হয় না এবং আবাসিক থাকে। এই মানটি কঠোরভাবে নিয়ন্ত্রণ করা হয় কারণ এটি মেমরির একটি সিস্টেম অনাহার করতে এবং অদলবদল করতে লোকেরা আপত্তিজনক ব্যবহার করতে পারে। এটি সুরক্ষা অ্যাপ্লিকেশনগুলির সাথে সাধারণত কার্যকর (যা তাদের পৃষ্ঠাগুলি কখনই অদলবদল করতে চায় না - এবং অদলবদল বিভাজন থেকে পঠনযোগ্য হয়ে ওঠে)।

cpu 
maximum CPU time (minutes) 

এটি কোনও প্রক্রিয়া একটি সিপিইউতে যে পরিমাণ সময় ব্যয় করতে পারে তা উপস্থাপন করে। এমন একটি প্রক্রিয়া যা এই মানটি অতিক্রম করে তাকে হত্যা করা হয়। নোট করুন প্রক্রিয়া শুরু হওয়ার পরে এটি যে পরিমাণ সময় পেরিয়ে গেছে তার সমান নয়। IE প্রসেসটির 100% সিপিইউ ব্যবহার হয় তবে 1 মিনিটের সিপাইটাইম সীমাটি 1 মিনিট সময় নিতে পারে তবে প্রক্রিয়াটি 50% ব্যবহার করে যদি 2 মিনিট গ্রাস করতে পারে।

কী ঘটে সিপিইউ ছাড়িয়ে?

প্রক্রিয়াটি একটি কিল সংকেত প্রেরণ করে SIGXCPUযা প্রক্রিয়াটি শেষ করে। এটি তখন পিতামাতার প্রক্রিয়াতে ধরা পড়ে এবং সেখানে পরিচালিত হতে পারে।

কেবলমাত্র একটি প্রক্রিয়া বা পুরো ব্যবহারকারীর সিপিইউ ব্যবহার থেকে ব্যান্ড করা হয়েছে?

রেফারেন্সযুক্ত প্রায় সমস্ত সীমা প্রতি-প্রক্রিয়া ভিত্তিতে পরিচালিত হয়। সিপিইউ সময় অন্তর্ভুক্ত। কেবলমাত্র আমি যেগুলি লগিনের মোট সংখ্যা এবং সেই ব্যবহারকারীর দ্বারা প্রসেসের মোট সংখ্যা বলে বিশ্বাস করি না ।

সীমা সহ আরও কয়েকটি গ্যাচগুলি হ'ল:

  • সর্বোচ্চ প্রক্রিয়াগুলিতে হালকা ওজনের থ্রেডের সংখ্যা অন্তর্ভুক্ত।
  • আরএসএসের সীমাটি কয়েক বছর ধরে কিছুই করে না এবং রাখে না, এটি নির্ধারণ করা অর্থহীন।

1

এটি pam_limitsমডিউলটির জন্য ... এটি setrlimit(2)এবং sysctl(8)মান। আমার অনুসন্ধানটি কোনও কঠোর সীমাবদ্ধতা আবিষ্কার করতে পারে নি, তবে উদ্ধৃত ম্যান পেজগুলি কিছু ব্যাখ্যা দেয় give


1

দ্রুত উত্তরগুলি সুন্দর উত্তর, তাই এখানে যায়।

  • অগ্রাধিকারের জন্য সর্বনিম্ন এবং সর্বাধিক মানগুলি সন্ধান করুন schedtool -r; এবং
  • বর্তমান সীমা জিজ্ঞাসা করুন ulimit -a

উভয় নরম এবং কঠোর সীমা নির্ধারণ করতে ভুলবেন না, এমনকি যদি তাদের মান একই থাকে। আমার পরীক্ষাগুলিতে এই একমাত্র জিনিস যা উলিমিট কমান্ডের মধ্যে একটি পার্থক্য প্রদর্শন করবে।

আশা করি এটি আপনাকে সহায়তা করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.