কোনও অতিরিক্ত প্যাকেজ ইনস্টল করার দরকার নেই, আপনার ভাল পুরানো শেল এটি একা করতে সক্ষম।
এই এক-লাইনের আপনার চার কোর লোড করা হবে 1 100% হয়:
for i in 1 2 3 4; do while : ; do : ; done & done
এটি কীভাবে কাজ করে তা বেশ সহজ, এটি চারটি অন্তহীন লুপগুলি শুরু করে। তাদের প্রত্যেকে নাল নির্দেশ ( :) টি পুনরাবৃত্তি করছে । প্রতিটি লুপ 100% এ সিপিইউ কোর লোড করতে সক্ষম।
আপনি ব্যবহার করেন তাহলে bash, ksh93এবং অন্যান্য শাঁস রেঞ্জ সমর্থন (অর্থাত না dashবা তার বেশী বয়সের ksh), আপনি এই অ পোর্টেবল সিনট্যাক্স ব্যবহার করতে পারেন:
for i in {1..4}; do ...
4আপনি যদি আলাদা করতে চান তবে যে পরিমাণ সিপিইউ লোড করতে চান তা প্রতিস্থাপন করুন 4।
এই ধরণের কোনও লুপ চালু করার সময় আপনার ইতিমধ্যে কোনও পটভূমি কাজ চলছে না তা ধরে নিই, আপনি এই আদেশটি দিয়ে লোড উত্পাদন বন্ধ করতে পারবেন:
for i in 1 2 3 4; do kill %$i; done
@ Underscore_d এর মন্তব্য উত্তর, এখানে একটি বর্ধিত সংস্করণ যা অনেক লোড বাঁধন প্রক্রিয়া সহজ এবং যে একটি সময়সীমার (। ডিফল্ট 60 সেকেন্ড) একটি নির্দিষ্ট অনুমতি Control- Cসব পলাতক লুপ খুব মেরে ফেলবে। এই শেল ফাংশনটি অন্তত bashএবং এর নীচে কাজ করে ksh।
# Usage: lc [number_of_cpus_to_load [number_of_seconds] ]
lc() {
(
pids=""
cpus=${1:-1}
seconds=${2:-60}
echo loading $cpus CPUs for $seconds seconds
trap 'for p in $pids; do kill $p; done' 0
for ((i=0;i<cpus;i++)); do while : ; do : ; done & pids="$pids $!"; done
sleep $seconds
)
}
1 নোট করুন যে সিপিইউগুলি প্রতিটি প্রতি একাধিক থ্রেডকে সমর্থন করে (হাইপার-থ্রেডিং), ওএস সমস্ত ভার্চুয়াল সিপিইউগুলিতে লোড প্রেরণ করবে। সেক্ষেত্রে লোড আচরণটি বাস্তবায়ন নির্ভর (প্রতিটি থ্রেড 100% ব্যস্ত বা না হিসাবে রিপোর্ট করা হতে পারে)। ।
catএকসাথে একাধিক উদাহরণ চালানো কি সম্ভব ?