কীভাবে কেবল একটি সিপিইউ কোর দিয়ে একটি প্রোগ্রাম চালাবেন?


28

আমি টার্মিনেটরে একটি গেমিং সার্ভার সম্পর্কিত একগুচ্ছ স্ক্রিপ্ট চালানোর চেষ্টা করছি। সমস্যাটি কেবল তখনই হয় যখন আমি এটি করি, টার্মিনেটর আমার সমস্ত সিপিইউ কর সনাক্ত করে এবং পিসি পিছিয়ে যায়। এটি চালু করার কোনও উপায় আছে কি তবে এটি চিন্তা করে চালিত করার জন্য আমার কাছে কেবলমাত্র 1 টি সিপিইউ কোর আছে?


2
হাই, মনে হচ্ছে আপনি এখানে xy সমস্যায় ভুগছেন, কখনও কখনও আপনি কী অর্জন করতে চান তার দিকে ফিরে তাকাতে মূল্যবান এবং আপনি যে চেষ্টা করেছেন তা সমাধান নয় যেমন মনে হয় যে আপনার যা প্রয়োজন তা হ'ল আপনার প্রোগ্রামটি চালিয়ে নেওয়া আপনার পিসি, একটি কোর উপর কিছু চালানোর জন্য না। কোনওটিই কম নয়, এটি খুব ভাল প্রশ্ন। +1 টি
Vality

সম্পর্কিত: unix.stackexchange.com/questions/23106/…
Ciro

উত্তর:


44

এটি terminatorকোনও প্রদত্ত প্রক্রিয়ার সমস্ত সিপিইউতে "স্প্রেডিং" করছে না এমন নয় । লিনাক্স নিজেই (কার্নেল) এটি করছে। ডিফল্ট সমস্ত সিপিইউতে চালনার জন্য একটি কার্য (প্রক্রিয়া) নির্ধারিত হয়েছে; যদি এটি থ্রেড ব্যবহার করে তবে এটি একবারে একাধিক সিপিইউ ব্যবহার করতে পারে।

কোনও নির্দিষ্ট সিপিইউতে কোনও প্রক্রিয়া সীমাবদ্ধ করতে, আপনি কমান্ডটি ব্যবহার করেন taskset

taskset --cpu-list 1,2 my_command 

এই কমান্ডটি আমার_কম্যান্ডকে কেবল সিপিইউ # 1 বা # 2 এ চালাতে বাধ্য করে।

আরও জানতে, টাইপ করুন man tasksetবা "লিনাক্স সিপিইউ অ্যাফিনিটি" অনুসন্ধান করুন (প্রথম এখানে হিট করুন )।


2
যাইহোক, আপনি কেবল "খারাপ" প্রক্রিয়াগুলি পুনরায় ব্যবহারের চেষ্টা করতে পারেন, তাদের সময় নির্ধারণের অগ্রাধিকারটিকে কমিয়ে।
মাত্তেও ইটালিয়া

@ মাত্তিও ইটালিয়া আমি দেখতে পেয়েছি যে উবুন্টু ১৩.১০ এবং ১৪.০৪ ডিফল্টরূপে সুন্দর স্তরটিকে উপেক্ষা করে। আপনি যোগ আছে kernel.sched_autogroup_enabled = 0করতে /etc/sysctl.confএটি কাজ করা হয়। তবে আমি এটিও দেখতে পেয়েছি যে বুট চলাকালীন 13.10 ঘন ঘন কার্নেল আতঙ্ক, যদি অটোগ্রুপ অক্ষম থাকে।
কাস্পারড

পিতামাতার প্রক্রিয়া শিশু প্রক্রিয়া সম্পর্কে কি? তারা কি তাদের পিতামাতার প্রক্রিয়াটির মূল / সিপিইউ স্নেহ লাভ করে?
ইল্ডিজাবদুল্লাহ

5

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

এটির জন্য আপনি যে কমান্ডটি সুন্দরভাবে চালাতে চান তা কেবল প্রাকটিফিক্স করার জন্য, উদাহরণস্বরূপ: nice command_to_run এটি প্রোগ্রামটিকে অন্যান্য কাজের তুলনায় ডি-অগ্রাধিকার হিসাবে গ্রহণ করবে এবং আপনার মেশিনকে ধীর করবে না। লম্বা সংকলন করার সময় আমি প্রায়শই এই কৌশলটি ব্যবহার করি যা অন্যথায় আমার পিসিটিকে ক্রল করার গতি কমিয়ে দেয়, মেশিন ব্যস্ত না থাকাকালীন প্রোগ্রামটিকে সমস্ত কোর ব্যবহার করার অনুমতি দেওয়ার সুবিধা রয়েছে তবে আপনি যখন কিছু চালাবেন তখন তা দ্রুত ব্যবহার করা বন্ধ করে দেবে অন্য।


যদি আমি "চমৎকার ওপেন টার্মিনেটর" এর মতো একটি কমান্ড ব্যবহার করি তবে নির্বিশেষে সমস্ত সিপিইউ কোর দিয়ে টার্মিনেটর চলবে?
ব্যবহারকারীর 4545115

ওহ, এবং যাইহোক, আমি যদি আমার মাউসটি সরিয়ে নিই এবং কিছুই খুলছে না তবে এটি সমস্ত সিপিইউ ব্যবহার করবে? এবং সমস্ত সিপিইউ ব্যবহার করার জন্য আমি আমার মাউসটি সরানো বন্ধ করার পরে কতক্ষণ সময় লাগবে? এবং আমি কি টাস্কসেটের সাহায্যে এটি ব্যবহার করতে পারি? (হ্যাঁ, আমি লিনাক্সের সাথে
সত্যই নুব

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

@ user245115 এটি taskset nice open terminatorউভয়ই লেখার জন্য কেবল টাস্কসেট দিয়ে ব্যবহার করা সম্ভব possible তবে এটি অতিমাত্রায় হবে কারণ আপনি উভয়ই প্রোগ্রামের রিসোর্সের ব্যবহার হ্রাস করার প্রভাব অর্জন করার জন্য দুটি পৃথক প্রোগ্রাম ব্যবহার করবেন।
মান

@ user245115 আপনি অন্য কোনও পদক্ষেপ নেওয়ার (মাউস সরিয়ে দেওয়ার মতো) টার্মিনেটরটিকে কম সিপিইউ সময় দেওয়া হবে, এটি কার্যকরভাবে তাত্ক্ষণিক এবং আপনি অন্যান্য ক্রিয়াকলাপ বন্ধ করার সাথে সাথে এটি আবার এটি ব্যবহার করবে (কার্যকরভাবে তাত্ক্ষণিক)
মান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.