2013-10-23 15 views
7

मैं एक ऐसी स्क्रिप्ट चला रहा हूं जो बड़ी फाइलें लोड करता है। मैंने एक ही स्क्रिप्ट को एक कोर ओपन एसयूएस सर्वर और क्वाड कोर पीसी में चलाया। जैसा कि मेरे पीसी में अपेक्षित है, यह सर्वर की तुलना में बहुत तेज है। लेकिन, स्क्रिप्ट सर्वर को धीमा कर देती है और इसे और कुछ भी असंभव बनाती है।सिस्टम CPU समय (% sy) उच्च क्यों है?

मेरे स्क्रिप्ट

for 100 iterations 
Load saved data (about 10 mb) 

समय myscript (पीसी में)

real 0m52.564s 
user 0m51.768s 
sys 0m0.524s 

समय myscript (सर्वर में)

real 32m32.810s 
user 4m37.677s 
sys 12m51.524s 

मुझे आश्चर्य है कि क्यों "sys" है, इसलिए उच्च जब है मैं सर्वर में कोड चलाता हूं। मैंने स्मृति और सीपीयू उपयोग की जांच करने के लिए शीर्ष कमांड का उपयोग किया। enter image description here ऐसा लगता है कि अभी भी मुफ्त मेमोरी है, इसलिए स्वैपिंग कारण नहीं है। % sy इतना ऊंचा है, शायद यह सर्वर की गति का कारण है, लेकिन मुझे नहीं पता कि% sy इतना उच्च कारण क्या है। प्रक्रिया जो उच्चतम CPU (99%) का उपयोग कर रही है वह "माइस्क्रिप्ट" है। % wa स्क्रीनशॉट में शून्य है लेकिन कभी-कभी यह बहुत अधिक (50%) हो जाता है।

जब स्क्रिप्ट चल रही है, लोड औसत 1 से अधिक है, लेकिन कभी के रूप में उच्च के रूप में 2.

मैं अपने डिस्क की जाँच की जा करने के लिए देखा है:

strt:~ # hdparm -tT /dev/sda 

/dev/sda: 
Timing cached reads: 16480 MB in 2.00 seconds = 8247.94 MB/sec 
Timing buffered disk reads: 20 MB in 3.44 seconds = 5.81 MB/sec 

[email protected]:~> df -h 
Filesystem  Size Used Avail Use% Mounted on 
/dev/sda2  245G 102G 131G 44%/
udev   4.0G 152K 4.0G 1% /dev 
tmpfs   4.0G 76K 4.0G 1% /dev/shm 

मैं इन बातों को जाँच कर ली है लेकिन मुझे अभी भी यकीन नहीं है कि मेरे सर्वर में वास्तविक समस्या क्या है और इसे कैसे ठीक किया जाए। क्या कोई धीमेपन के लिए संभावित कारण की पहचान कर सकता है? उसका कोई उपाय क्या? या क्या मुझे कुछ और जांचना चाहिए?

धन्यवाद!

+0

क्या "समस्या" है? यदि आप सिस्टम को बहुत काम करने के लिए कहते हैं, तो यह पूरा होने तक काफी व्यस्त होगा। एक सामान्य लिपि के साथ, लगभग सभी "कार्य" बच्चे प्रक्रियाओं (या उनकी ओर से कर्नेल स्पेस कार्यों, जैसे I/O) में होते हैं, स्क्रिप्ट को व्याख्या करने वाली शैल प्रक्रिया में नहीं। –

+0

जब स्क्रिप्ट चल रही है, तो सर्वर के अन्य उपयोगकर्ताओं को धीमी प्रतिक्रिया मिलती है। मैं स्क्रिप्ट को तेजी से चलाने और अन्य उपयोगकर्ताओं को परेशान नहीं करना चाहता हूं। अगर कुछ संसाधन जोड़ना समाधान है, तो मैं ऐसा कर सकता हूं। लेकिन, मुझे नहीं पता कि क्या मदद कर सकता है। – Abhishek

+0

यदि आप पूछ रहे हैं कि बेहतर प्रदर्शन के लिए किस प्रकार की प्रणाली को खरीदने/अपग्रेड करना है, तो शायद यह एक सुपरसियर प्रश्न है।यदि आप कार्य को और अधिक कुशल बनाने की कोशिश करना चाहते हैं (एक साथ समाधान के समाधान में सुधार के लिए बहुत सी जगह हो सकती है), तो आपको इसके बारे में और अधिक विशिष्ट होना होगा कि यह क्या करता है और कैसे - वास्तविक कोड, या कम से कम एक करीबी कार्यात्मक विवरण। –

उत्तर

1

आपको उच्च sys गतिविधि मिल रही है क्योंकि आपके द्वारा किए जा रहे डेटा का भार सिस्टम कॉल करता है जो कर्नेल में होता है। सर्वर को अपग्रेड किए बिना अपनी धीमी समस्याओं को हल करने के लिए संभव हो सकता है। आप शेड्यूलिंग प्राथमिकता को संशोधित कर सकते हैं। अच्छे और किराए के लिए मैन पेज देखें। here देखें और विशेष रूप से:

निकनेस मान -20 (उच्चतम प्राथमिकता, निम्नतमता) और 1 9 (सबसे कम प्राथमिकता, उच्चतमता) से लेकर हैं।

$ ps -lp 941 एफ एस यूआईडी पीआईडी ​​PPID सी पंचायती राज एनआई ADDR SZ WCHAN TTY समय सीएमडी 4 एस 0 941 1 0 70 -10 - 1713 poll_s? 00:00:00 sshd

$ अच्छा -n 19 ./test.sh मेरे संतोषप्रदता मूल्य 19

$ renice -n 10 -p 941 941 (प्रक्रिया ID) वर्ष प्राथमिकता -10, नया है प्राथमिकता 10

संबंधित मुद्दे