প্রশ্ন CPU এফিনিটি সেটিং স্টিকিং না


আমি OpenVZ এবং ভার্চুয়াল CentOS 6.x চলমান ভার্চুয়ালাইজড 4vCpu ভিপিএসের উপর MySQL (সর্বশেষ পারকোনা সার্ভার) এর সম্বন্ধন সেট করার চেষ্টা করছি।

আমি চলমান কমান্ড হয় taskset -pc 0-1 1026। আমি চেষ্টা করেছি 0,1 পরিবর্তে. আউটপুট হয়:

pid 1026's current affinity list: 0-3
pid 1026's new affinity list: 0-3

সুতরাং, এটি 'স্টিকিং' বলে মনে হচ্ছে না। সিপিইউ এর প্রক্রিয়াটি উপলব্ধ করার জন্য এটি আবার টাস্কসেট চালু করে নিশ্চিত করা যেতে পারে। এই আমার ভার্চুয়ালাইজেশন টাইপ সঙ্গে একটি সমস্যা, সম্ভবত?

আমি এটা করছি কারণ এখন এবং তারপর আমার হার্ডডিস্কের জন্য মাইএসকিউএল দরকার এবং 2-4 ঘন্টারও বেশি সময় ধরে 2.0-4.0 তে চলে যাওয়া আমার বর্তমান সরবরাহকারীর সাথে পুনরায় শুরু করে।

এটি কি কাজ করে না এমন একটি পরিষ্কার কারণ আছে, নাকি আরও সমস্যা সমাধান দরকার?


4
2018-01-04 19:48


উত্স




উত্তর:


সিপিপি অ্যাফিনিটি মাস্কগুলি ওপেনভিজেড কন্টেইনারের ভিতরে উপেক্ষা করা হয়। আপনি "কাজ" এই পেতে সক্ষম হবে না।

RHEL5 ভিত্তিক কার্নেলগুলিতে আমাদের ভার্চুয়াল সিপিএসের ধারণা ছিল: কাজগুলি ছিল   vcpus নির্ধারিত হয় যখন vcpus একরকম বিতরণ করা হয়   শারীরিক cpus। Sched_setaffinity syscall বাঁধাই ব্যবহার করা যেতে পারে   কাজ vcpus তারপর।

আমরা এই RHEL6 মধ্যে এই ধারণাটি গুরুতর এবং প্রায়ই উপ-অনুকূল ছিল   ড্রপ করার সিদ্ধান্ত নিয়েছে: বর্তমানে একটি ধারক জন্য nr_cpus সীমা সেটিং   আসলে cpulimit সেটিং সমতুল্য। সিদ্ধান্ত ন্যায্য হয়   সর্বশেষ লিনাক্স সময়সূচী সংগ্রহ করার জন্য যথেষ্ট স্মার্ট   সীমাবদ্ধ করার কোন প্রয়োজন নেই যাতে সক্রিয়ভাবে একসঙ্গে কাজ interacting   কৃত্রিমভাবে সমান্তরাল।

ফলস্বরূপ, সিপিইউ অ্যাফিনিটি সাপোর্ট বাতিল করা হয়। কাজ এখনও ব্যবহার করতে পারেন   sched_setaffinity syscall, কিন্তু এটি উপেক্ষা করা হবে।


10
2018-01-04 19:51



সঠিকভাবে আমি উত্তর খুঁজছেন ছিল। আমি আমার অনুসন্ধানে এই জুড়ে আসে না, কিন্তু আমি সন্দেহ কি এটা। দুর্ভাগ্যবশত, আমি MySQL এর প্রসেসর ব্যবহারের সীমাবদ্ধ করার অন্য কোন উপায়ে সচেতন নই (থ্রেড-কনকুরেন্সের ব্যতীত, তবে এটি 4 কোরে বেশি কিছু মনে হচ্ছে না), তাই মনে হচ্ছে আমি ভাগ্যের বাইরে চলেছি। - Tim
@ টিম অন্য কন্টেইনার ব্যবহার করুন, কম ক্যোয়ারী পাঠান, অথবা আপনি ইতিমধ্যে প্রেরিত প্রশ্নগুলি অপটিমাইজ করুন। - Michael Hampton♦
আমার সত্যিকারের সীমিত বোঝার মধ্যে, কেন আমি কোনও ভিপিএস সরবরাহকারীকে প্রথম স্থানে KVM মত কিছুতে ওপেনভিজেড ব্যবহার করব তা নিশ্চিত করতে পারছি না (যদি না তারা পূর্বের সাথে কেবল বেশি পরিচিত হয়।)। আমি মনে করি আমি সত্যিই অন্য প্রদানকারীর কাছে স্থানান্তর করতে হবে যেখানে আমার এক ঘন্টা বা দুইাধিকেরও বেশি সময় ধরে সমস্ত সংস্থান ব্যবহার করতে হবে কিনা তা নিয়ে চিন্তা করতে হবে না। কাস্টমাইজ করার সময় / প্রশ্নগুলি হ্রাস করা সম্ভব নয়, (অন্তত একটি নগদ অর্থের চেয়ে বেশি নয়।)। - Tim
@ টিম কারণ এটি সস্তার এবং সাবস্ক্রাইব করা সহজ। এটা সম্বন্ধে. - Michael Hampton♦


একটি টুল মত taskset সম্ভবত একটি ধারক সঠিকভাবে কাজ করবে না। আপনি হোস্ট সিস্টেম থেকে এটি করতে সক্ষম হতে পারে, কিন্তু এটি একটি ধারক মধ্যে থেকে ইন্দ্রিয় তোলে না।

দেখুন: টাস্কেট OpenVZ ধারক মধ্যে সঠিকভাবে কাজ করছে না


1
2018-01-04 19:52