আমি গতকাল কম্পাইল করার চেষ্টা ছিল রুট উৎস থেকে প্যাকেজ। যেহেতু আমি এটি একটি 6 টি মূল দৈত্য মেশিনে সংকলন করছি, তাই আমি একাধিক কোর ব্যবহার করে এগিয়ে যাওয়ার এবং নির্মাণের সিদ্ধান্ত নিয়েছি make -j 6
। সংকলনটি প্রথমে মসৃণ এবং সত্যিই দ্রুতগতিতে চলেছিল, তবে এক পর্যায়ে make
মাত্র একটি কোরটিতে 100% সিপিইউ ব্যবহার করে স্তব্ধ হয়ে গেছে।
আমি কিছু গুগলিং করেছি এবং এই পোস্টটি আরওটি বার্তা বোর্ডগুলিতে পেয়েছি । যেহেতু আমি নিজেই এই কম্পিউটারটি তৈরি করেছি, তাই আমি উদ্বিগ্ন ছিলাম যে আমি হিটসিংকটি সঠিকভাবে প্রয়োগ করি নি এবং সিপিইউ অত্যধিক গরম বা অন্য কোনও বিষয়। দুর্ভাগ্যক্রমে, আমার এখানে কর্মক্ষেত্রে কোনও ফ্রিজ নেই যা আমি এটি আটকে রাখতে পারি; ;-)
আমি lm-sensors
প্যাকেজটি ইনস্টল করে make -j 6
আবার দৌড়েছি , এবার সিপিইউ তাপমাত্রা পর্যবেক্ষণ করছি। যদিও এটি উচ্চতর (60০ ডিগ্রি সেন্টিগ্রেডের কাছাকাছি) হয়ে গেছে, এটি কখনও কখনও উচ্চ বা সমালোচনামূলক তাপমাত্রার কাছাকাছি যায়নি।
আমি দৌড়ানোর চেষ্টা করেছিলাম make -j 4
তবে আবার make
সংকলনের সময় আবার কিছুটা ঝুলিয়েছিলাম, এবার অন্য জায়গায়।
শেষ পর্যন্ত, আমি কেবল চলমান সংকলন করেছি make
এবং এটি দুর্দান্ত কাজ করেছে। আমার প্রশ্ন: এটি কেন ঝুলছিল? এটি দুটি পৃথক স্পটে থামার কারণে, আমি অনুমান করব যে এটি কোনও ধরণের রেসের শর্তের কারণে হয়েছিল, তবে আমি মনে করব যে make
এটি সঠিকভাবে অর্ডার দেওয়ার জন্য যথেষ্ট চৌকস হওয়া উচিত কারণ এটি -j
বিকল্পটি সরবরাহ করে।
-j >1
।
$(shell ...)
ছিল , শেষ পর্যন্ত একটি কমান্ড চালাচ্ছিল যা ইনপুটটির জন্য অপেক্ষাstdin
করছিল । কোনও ভেরিয়েবল খালি থাকাকালীন এবং কমান্ডের কাছে কোনও ফাইল আর্গুমেন্ট পাস না হওয়ার কারণে এটি ঘটেছিল।
strace -p <pid>
এবং এটি কী / কী খুঁজছেন তা আপনি খুঁজে পেতে পারেন কিনা তা দেখুন। স্ট্রেস কেবল আপনাকে সাইকোলে প্রদর্শিত হবে (ফাংশন কল নয়), তবে এটি কোনও নির্দিষ্ট ফাইল দেখার জন্য বা সন্ধান করার সময় এটি ঘুরছে তবে তা আপনাকে মূল্যবান তথ্য দিতে পারে।