Linux / arm के अंतर्गत RAM (no-ECC) को बेंचमार्क करने के सर्वोत्तम तरीके क्या हैं?


19

मैं कस्टम बोर्ड पर नो-ईसीसी मेमोरी चिप्स की अखंडता और वैश्विक प्रदर्शन का परीक्षण करना चाहता हूं

क्या कुछ उपकरण हैं जो लिनक्स के तहत चलते हैं इसलिए मैं एक ही समय में सिस्टम और वैश्विक तापमान की निगरानी कर सकता हूं?

क्या सामान्य रूप से करने के लिए कुछ नो-ईसीसी विशिष्ट परीक्षण हैं?

संपादित करें 1:

मुझे पहले से ही पता है कि तापमान की निगरानी कैसे की जाती है (मैं एक विशेष प्लेटफ़ॉर्म सुविधा /sys/devices/platform/......../temp1_input का उपयोग करता हूं)।

अभी के लिए :

  • wazoox: यह काम करता है लेकिन मुझे अपने परीक्षणों को कोड करना है
  • जेसन हंटले:
    • ramspeed: बांह पर काम नहीं करता है
    • स्ट्रीम बेंचमार्क: यह काम करता है और बहुत तेज है, इसलिए मैं इसे सटीक और पूर्ण होने पर देखूंगा
    • यादगार: मैं बाद में कोशिश करूँगा, क्योंकि यह सीधे लिनक्स से नहीं चलता है
    • फेडोरा के लिए तनाव: मैं बाद में भी कोशिश करूंगा, अब फेडोरा स्थापित करना मेरे लिए बहुत समस्याग्रस्त है

मुझे यह वितरण मिला: http://www.stresslinux.org/sl/

मैं बहुत बड़ी निर्भरता के बिना सीधे लिनक्स के तहत चलने वाले औजारों की जांच करना जारी रखूंगा, क्योंकि मैं शायद तनाव-मुक्त, मेमोरेस्ट, फेडोरा के लिए तनाव जैसे समाधानों की कोशिश करूंगा।

आपके उत्तर के लिए धन्यवाद, मैं जांच करना जारी रखूंगा


यदि आप हमारे साथ काम कर रहे लिनक्स वितरण प्रदान करते हैं तो यह मदद करेगा। क्या आप सर्वर या डेस्कटॉप वितरण चला रहे हैं? क्या इसमें XServer शामिल है?
जेसन हंटले

मैं व्यस्त बॉक्स के साथ लिनक्स 3.0 नंगे धातु का उपयोग करता हूं, रूटफुट एनएफ़एस पर है, इसलिए मैं एक आर्म क्रॉस कंपाइलर के साथ दूसरे होस्ट से उपकरण संकलित करता हूं। कोई XServer नहीं है।
मौल

जवाबों:


13

यहां मैं कभी-कभी राम का परीक्षण करता हूं: पहले दो tmpfs माउंट करें (डिफ़ॉल्ट रूप से tmpfs आधा राम है):

# mount -t tmpfs /mnt/test1 /mnt/test1
# mount -t tmpfs /mnt/test2 /mnt/test2

मुफ्त मेमोरी और मुफ्त स्थान की जाँच करें:

# free
             total       used       free     shared    buffers     cached
Mem:        252076     234760      17316          0      75856      62328
-/+ buffers/cache:      96576     155500
Swap:      1048820        332    1048488

# df -h -t tmpfs
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
tmpfs                 124M     0  124M   0% /lib/init/rw
udev                   10M  104K  9,9M   2% /dev
tmpfs                 124M     0  124M   0% /dev/shm
/mnt/test1            124M     0  124M   0% /mnt/test1
/mnt/test2            124M     0  124M   0% /mnt/test2

अब dd के साथ tmpfs भरें:

# dd if=/dev/zero of=/mnt/test1/test bs=1M 
dd: écriture de `/mnt/test1/test': Aucun espace disponible sur le périphérique
123+0 enregistrements lus
122+0 enregistrements écrits
128802816 octets (129 MB) copiés, 1,81943 seconde, 70,8 MB/s

# dd if=/dev/zero of=/mnt/test2/test bs=1M 
dd: écriture de `/mnt/test2/test': Aucun espace disponible sur le périphérique
123+0 enregistrements lus
122+0 enregistrements écrits
128802816 octets (129 MB) copiés, 5,78563 seconde, 22,3 MB/s

आप जांच सकते हैं कि आपकी मेमोरी वास्तव में काफी भरी हुई है:

# free
             total       used       free     shared    buffers     cached
Mem:        252076     248824       3252          0       1156     226380
-/+ buffers/cache:      21288     230788
Swap:      1048820      50020     998800

अब आप विभिन्न परीक्षण चला सकते हैं, उदाहरण के लिए जाँच करें कि दोनों अस्थायी फाइलें समान हैं, सीधे या md5sum, sha1sum, आदि चला रहे हैं:

# time cmp /mnt/test1/test /mnt/test2/test 

real    0m4.328s
user    0m0.041s
sys     0m1.117s

तापमान की निगरानी के बारे में, मैं केवल एलएम-सेंसर जानता हूं। मुझे नहीं पता कि यह आपके विशेष हार्डवेयर का प्रबंधन करता है, लेकिन आप शायद इसे वैसे भी आजमा सकते हैं।


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

2
अपने आप को परीक्षण नहीं किया, लेकिन Mircea शायद सही है: इसलिए मैं पेजकेच, डेंट्री और इनोड्स को मुक्त करने के लिए "गूंज 3> / proc / sys / vm / drop_caches", जो यह करना चाहिए।
मैनुअल

वे फाइल सिस्टम कैश हैं, सीपीयू कैश नहीं।
मिरिके वुटकोविसी

1
+1 यह ddविधि (एक पुराने एएमडी एथलॉन 64 3200+ पर) ने मुझे मेमोरी क्लॉक स्पीड में बदलाव के लिए लगातार आनुपातिक परिणाम दिए हैं, जो कि मेरा मतलब है कि यह काफी अच्छा है। यकीन नहीं है, हालांकि, आप पूरे सिस्टम मेमोरी को क्यों रोकना चाहेंगे /dev/zero- जब मैंने ऐसा करने का प्रयास किया तो मेरा सिस्टम जम गया।
लूमी

3
मैं एक साधारण बैश लिपि में इस ढाल लिया है कि मैं बेंचमार्क करने के लिए उपयोग VPS प्रदाताओं - bitbucket.org/snippets/danielsokolowski/G5oeA
डैनियल Sokolowski

7

Linux / arm के अंतर्गत RAM (no-ECC) को बेंचमार्क करने के सर्वोत्तम तरीके क्या हैं?

रामस्पेड एकमात्र मल्टीप्लायटर मेमोरी बेंचमार्क टूल है जिससे मैं परिचित हूं। यदि आप समर्थित हैं, तो आप इसे हाथ के लिए संकलित करने में सक्षम हो सकते हैं:

http://alasir.com/software/ramspeed/ , पुराना लिंक मृत है, उपयोग करें:

https://github.com/cruvolo/ramspeed-smp

यदि यह समर्थित नहीं है, तो आप स्ट्रीम का उपयोग करके बेंचमार्क करने में सक्षम हो सकते हैं:

http://www.cs.virginia.edu/stream/ref.html

कस्टम बोर्ड पर नो-ईसीसी मेमोरी चिप्स की अखंडता और वैश्विक प्रदर्शन का परीक्षण करना चाहते हैं

यहाँ, मैंने अखंडता जाँच के लिए कई मौकों पर यादगार का उपयोग किया है और यह बहुत अच्छा काम करता है:

http://www.memtest.org/

* ध्यान दें, मैंने केवल यह पढ़ा है कि यह आर्म का समर्थन करता है। हालाँकि, मैंने आर्म पर परीक्षण नहीं किया है।

क्या कुछ उपकरण हैं जो लिनक्स के तहत चलते हैं इसलिए मैं एक ही समय में सिस्टम और वैश्विक तापमान की निगरानी कर सकता हूं?

यदि आप जो वितरण yum का उपयोग कर रहे हैं, आप आसानी से lm_sensors स्थापित कर सकते हैं:

ym इंस्टॉल करें lm_sensors

आप यहां से डाउनलोड और संकलित भी कर सकते हैं: यहां http://www.lm-sensors.org/

हालांकि, मुझे यकीन नहीं है कि यह आपके मिमीमेरी के संबंध में तापमान डेटा प्रदान करेगा। मेम तापमान पढ़ने के लिए आपके मदरबोर्ड में सेंसर भी होने चाहिए।

क्या सामान्य रूप से करने के लिए कुछ नो-ईसीसी विशिष्ट परीक्षण हैं?

memtest में ECC और गैर-ECC दोनों के लिए परीक्षण शामिल हैं

मुझे सिर्फ एक आखिरी बात याद है जो आप आजमा सकते हैं। हाथ वास्तुकला या आरपीएम के लिए फेडोरा प्राप्त करें। आप तनाव पैकेज चला सकते हैं जो तनाव को आपके सीपीयू और मेमोरी का परीक्षण करेगा:

तनाव 1.0.4-4.fc13.armv5tel.rpm

अगर बिजीबॉक्स में एक आरपीएम इंस्टॉलर है, तो आप फेडोरा वितरण से एक हाथ आरपीएम को तैनात करने में सक्षम हो सकते हैं।


दिलचस्प है कि कैसे रामस्पीड लिंक अब स्पैम वेबसाइटों पर पुनर्निर्देशित करता है।
सिरो सेंटिल्ली 50 i i i 事件 '24

हाँ, लगता है कि उनकी साइट चली गई है, गितुब का लिंक अपडेट कर रहा है।
जेसन हंटले

1

एक मौजूदा tmpfs में एक फाइल लिखें जैसे / dmp with dd जैसा कि wazoox का सुझाव दिया गया है, लेकिन इसके आकार को कम करके फिर आपकी आधी मेमोरी तक सीमित कर देता है।

सबसे पहले, पता करें कि कितनी मेमोरी उपलब्ध है:

> free -h                                                                       
              total        used        free      shared  buff/cache  available 
Mem:            15G        3.0G         11G        540M        1.0G         11G 
Swap:            9G        1.2M          9G                                     

फिर, एक फ़ाइल लिखें, इस मामले में 1 एमबी के 4000 ब्लॉकों का उपयोग करके कुल 4GB:

> dd if=/dev/zero of=/tmp/testfile bs=1M count=4000 
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB, 3.9 GiB) copied, 1.1395 s, 3.7 GB/s

इस तरह आप स्वैपिंग से बच जाएंगे और कुछ भी माउंट करने की आवश्यकता नहीं है।


ऐसा लगता है कि कृत्रिम रूप से tmpfsमेरी RHEL6 / 7 मशीनों की गति को सीमित किया जा रहा है । मुझे वही 4GB / s मिलता है, जैसे कि मैं क्वाड चैनल DDR3-1866 मशीन पर यह कमांड चलाता हूं, एक क्वाड चैनल DDR4-2666 मशीन, या केवल दो मेमोरी चैनल वाली एक ही मशीन आबाद है। ये 60, 85 और 42 जीबी / एस की मेमोरी में लिखना चाहिए, न कि 4 जीबी / एस पर।
मार्क बूथ

Dd हो सकता है बस लगातार प्रतीक्षा कर रहे अंतराल के साथ छोरों को कर रहा है और इस प्रकार, पूरी कार्रवाई की गति को सीमित करता है। इसे दूसरे तरीके से आज़माएँ: dd if = / dev / zero of = / tmp / testfile bs = 4000M count = 1
baldrianbandit

यह बहुत ही अजीब है, मैंने कई प्रकार के bsऔर counts के साथ कोशिश की है और सबसे अच्छा संयोजन था, bs=512Kलेकिन यह कभी भी एक मशीन पर 4.2GB / s से ऊपर नहीं जाता है जो STREAM बेंचमार्क के साथ 43GB / s देता है।
मार्क बूथ

0

मैंने यू-बूट के मेम्टेस्ट का इस्तेमाल किया, दो टेस्ट हैं (यू-बूट / कॉमन / cmd_mem.c देखें):

पहला परीक्षण सरल है (लिखो, जांच करो), दूसरा परीक्षण सक्रिय है #define CONFIG_SYS_ALT_MEMTEST 1और अधिक परीक्षण जोड़ो,

यू-बूट मेमोरी स्पेस, यानी के बाद एक स्टार्ट ऑफ़ (argv [1]) पास करने का ख्याल रखें mtest 0x200000

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.