2008-09-26 21 views
5

मेरे पास RHEL बॉक्स है जो मुझे एक मध्यम और परिवर्तनीय मात्रा में CPU लोड (50% -75%) के तहत रखना होगा।एक Red Hat Linux बॉक्स पर सीपीयू लोड कैसे सेट करें?

इस बारे में जाने का सबसे अच्छा तरीका क्या है? क्या कोई ऐसा प्रोग्राम है जो ऐसा कर सकता है जिसके बारे में मुझे पता नहीं है? ऐसा करने के लिए मुझे कुछ सी कोड लिखने में खुशी है, मुझे नहीं पता कि कौन सी सिस्टम कॉल मदद करेगी।

उत्तर

15

यह तुम क्या जरूरत है वास्तव में है। "तनाव POSIX सिस्टम के लिए एक सरल काम का बोझ जनरेटर है यह सीपीयू के एक कॉन्फ़िगर की लगाता है, स्मृति, मैं/हे, और डिस्क तनाव सिस्टम पर। यह सी में लिखा गया है, और जीपीएल के तहत लाइसेंस प्राप्त मुफ्त सॉफ्टवेयर है। "

+0

यह वर्चुअल वातावरण में मेरे लिए पूरी तरह से काम किया। – Tim

+0

ऊपर लिंक काम नहीं कर रहा है। इसे यहां मिला: http://people.seas.harvard.edu/~apw/stress/ –

0

आप शायद यह पूरा, या सभी CPU चक्र लेने के लिए और उसके बाद प्रक्रिया पर nice और renice का उपयोग चक्र है कि इस प्रक्रिया हो जाता है का प्रतिशत भिन्न करने के लिए एक स्क्रिप्ट चलाने के लिए कुछ भार पैदा उपकरण का उपयोग कर सकते हैं।

#!/bin/bash 
while true ; do 
true 
done 
+0

या सीधे एक टर्मिनल से आप टाइप कर सकते हैं: जबकि सच; सच करो; किया – Jesse

+0

यह एक सीपीयू को 100% सीपीयू लोड करेगा लेकिन अच्छा और चाइनाइस इस लोड को ट्यून करने की अनुमति नहीं देगा, केवल प्रतिस्पर्धी प्रक्रियाओं के साथ इसे भारित करने के लिए, यदि कोई हो। – jlliagre

1

एक सामान्य तरीका एक प्रणाली पर कुछ लोड प्राप्त करने के लिए बार-बार एक बड़ी सॉफ्टवेयर पैकेज संकलित करने के लिए है:

यहां नमूने बैश स्क्रिप्ट है कि सभी मुक्त CPU चक्र पर कब्जा होगा। लिनक्स कर्नेल की तरह कुछ।

स्रोत कोड की प्रति प्राप्त करें, tar.bz2 निकालें, शीर्ष स्तर स्रोत निर्देशिका में जाएं, अपनी कर्नेल कॉन्फ़िगरेशन को/boot से .config या zcat /proc/config.gz> .config पर कॉपी करें पुरानी कॉन्फिग बनाओ, फिर सत्य होने पर; साफ करें & & bzImage बनाएं; किया गया

यदि आपके पास एक एसएमपी सिस्टम है, तो make -j bzImage मजेदार है, यह समानांतर में कार्य करेगा।

इसके साथ एक समस्या सीपीयू लोड समायोजित कर रही है। डिस्क I/O पर प्रतीक्षा करते समय यह अधिकतम CPU लोड होगा।

2

एक साधारण प्राइम संख्या खोज प्रोग्राम खोजें जिसमें स्रोत कोड है। मुख्य लूप पर नैनोस्ली कॉल जोड़ने के लिए स्रोत कोड को संशोधित करें, जो भी देरी आपको वांछित CPU लोड देता है।

1

यह वास्तव में निर्भर करता है कि आप परीक्षण करने का प्रयास कर रहे हैं। यदि आप केवल सीपीयू लोड का परीक्षण कर रहे हैं, तो खाली सीपीयू चक्र खाने के लिए सरल स्क्रिप्ट ठीक काम करेंगे। मुझे व्यक्तिगत रूप से हाल ही में एक RAID सरणी के प्रदर्शन का परीक्षण करना पड़ा और मैंने बोनी ++ और IOZone पर भरोसा किया। IOZone बॉक्स पर एक सभ्य भार रखेगा, खासकर यदि आप रैम से फ़ाइल आकार को अधिक सेट करते हैं।

आपको this Article में रुचि भी हो सकती है।

1

आप शायद बैश स्क्रिप्ट का उपयोग करके ऐसा कर सकते हैं। सीपीयू का उपयोग सभी प्रक्रियाओं के उपयोग के लिए "ps -o pcpu | grep -v CPU" का प्रयोग करें। वर्तमान उपयोग प्राप्त करने के लिए उन सभी मूल्यों को एकसाथ जोड़ें। फिर लूप के दौरान व्यस्त रहें जो मूल रूप से उन मानों की जांच करता रहता है, वर्तमान CPU उपयोग को समझता है, और प्रोसेसर को एक निश्चित थ्रेसहोल्ड पर रखने के लिए गणना की गई राशि का इंतजार करता है। अधिक जानकारी की आवश्यकता है, लेकिन उम्मीद है कि यह आपको एक अच्छा प्रारंभिक बिंदु देगा।

मुझे मिली CPU Monitor स्क्रिप्ट पर एक नज़र डालें और कुछ अन्य विचारों को प्राप्त करने का प्रयास करें कि आप इसे कैसे पूरा कर सकते हैं।

-1

यह सुनिश्चित नहीं है कि आपका लक्ष्य यहां क्या है। मेरा मानना ​​है कि ग्लक्सगियर 100% सीपीयू का उपयोग करेंगे।

तो किसी भी प्रक्रिया को ढूंढें जो आपको पता है कि सीपीयू अधिकतम 100% होगा।

यदि आपके पास चार सीपीयू कोर (0 1 2 3) हैं, तो आप इस प्रक्रिया को सीपीयू 0 और 1 कहने के लिए "टास्कसेट" का उपयोग कर सकते हैं। यह आपके बॉक्स को 50% लोड करना चाहिए। इसे लोड करने के लिए 75% प्रक्रिया को 0 1 2 CPUs से बांधें।

अस्वीकरण: इसका परीक्षण नहीं किया गया है। कृपया हमें अपने परिणाम बताएं।यहां तक ​​कि अगर यह काम करता है, तो मुझे यकीन नहीं है कि आप इससे क्या हासिल करेंगे? http://weather.ou.edu/~apw/projects/stress/

मुख्यपृष्ठ से:

0

"अच्छा" कमांड का उपयोग करें।

क) सर्वाधिक प्राथमिकता: $ अच्छा -n -20 my_command

या

ख) सबसे कम प्राथमिकता: $ अच्छा -n 20 my_command

0

लोड करने के लिए एक सरल स्क्रिप्ट & हथौड़ा अजीब का उपयोग कर सीपीयू। लिपि गणितीय गणना करता है और इस प्रकार CPUs loadsverver.sh को पास किए गए उच्च मानों पर सीपीयू लोड पीक करता है।

चेकआउट स्क्रिप्ट @http://unixfoo.blogspot.com/2008/11/linux-cpu-hammer-script.html

0

Lookbusy सीपीयू लोड का मान सेट में सक्षम है। Project site

lookbusy -c util[-high_util], --cpu-util util[-high_util] 

i.e. 60% load 
lookbusy -c 60