मैंने देखा कि एक छोटा टेस्ट प्रोग्राम जो नैनोस्ली को कॉल करता है, वह 2.6.22 से अधिक कर्नेल के साथ लिनक्स मशीनों पर चलने पर CPU उपयोग में एक बड़ा अंतर दिखा रहा है।नैनोस्लीप उच्च सीपीयू उपयोग?
#include <time.h>
int main (void)
{
struct timespec sleepTime;
struct timespec returnTime;
sleepTime.tv_sec = 0;
sleepTime.tv_nsec = 1000;
while (1)
{
nanosleep(&sleepTime, &returnTime);
}
return 0;
}
(हाँ, मुझे पता है इस कार्यक्रम के कुछ नहीं करता है) यदि मैं यह संकलन और एक openSUSE 10.3 मशीन (2.6.22.19-0.2-डिफ़ॉल्ट) पर चला
, कार्यक्रम भी दिखाई नहीं देता "शीर्ष" द्वारा उत्पन्न प्रक्रिया सूची पर, मुझे इंगित करता है कि यह बहुत कम CPU समय का उपयोग कर रहा है। अगर मैं इसे ओपनएसयूएसई 11.1 मशीन (2.6.27.23-0.1-डिफ़ॉल्ट) पर चलाता हूं, तो शीर्ष प्रोग्राम को 40% CPU समय लेता है। Fedora 9 (2.6.25-14.fc9.i686) पर चल रहा है और फेडोरा 10 ने "शीर्ष" में एक ही उच्च CPU उपयोग को भी दिखाया है।
क्या कर्नेल में कोई बदलाव आया है जो इसे प्रभावित करता है?