कुछ पृष्ठभूमि जानकारी: मैं/dev/random से कुछ डेटा पढ़ने के लिए Red Hat सर्वर पर एक स्क्रिप्ट चलाने के लिए देख रहा था और बाद में उपयोग के लिए हेक्स स्ट्रिंग में कनवर्ट करने के लिए पर्ल अनपैक() कमांड का उपयोग करता हूं (डेटाबेस ऑपरेशंस बेंचमार्किंग)। मैंने कुछ/सिर/यादृच्छिक पर "हेड -1" चलाया और यह ठीक काम कर रहा था, लेकिन इसे कुछ बार कॉल करने के बाद, यह थोड़ी देर लटका होगा। कुछ मिनटों के बाद, अंत में यह टेक्स्ट के एक छोटे से ब्लॉक को आउटपुट करेगा, फिर खत्म करें।/देव/यादृच्छिक बेहद धीमी?
मैं/dev/urandom में स्विच (मैं वास्तव में नहीं चाहते थे करने के लिए, अपनी धीमी और मैं अनियमितता की है कि गुणवत्ता की जरूरत नहीं है) और यह पहले दो या तीन कॉल के लिए ठीक काम किया है, तो यह भी लटका शुरू किया । मैं सोच रहा था कि क्या यह "हेड" कमांड था जो इसे बमबारी कर रहा था, इसलिए मैंने पर्ल का उपयोग करके कुछ सरल I/O करने का प्रयास किया, और यह भी लटक रहा था। आखिरी खाई के प्रयास के रूप में, मैंने "dd" कमांड का उपयोग टर्मिनल की बजाय फ़ाइल से सीधे कुछ जानकारी को डंप करने के लिए किया था। मैंने इसके बारे में पूछा कि डेटा का 1 एमबी था, लेकिन इसे मारने से पहले ~ 400 बाइट प्राप्त करने में 3 मिनट लग गए।
मैंने प्रक्रिया सूचियों की जांच की, सीपीयू और मेमोरी मूल रूप से छेड़छाड़ की गई थी। वास्तव में इस तरह से बाहर निकलने के लिए/dev/यादृच्छिक कारण क्या हो सकता है और भविष्य में इसे रोकने/ठीक करने के लिए मैं क्या कर सकता हूं?
संपादित करें: मदद लोग के लिए धन्यवाद! ऐसा लगता है कि मेरे पास यादृच्छिक और यादृच्छिक मिश्रित था। मुझे स्क्रिप्ट मिल गई है और अब चल रही है। ऐसा लगता है कि मैंने आज कुछ नया सीखा। :)
आप 2 उपकरणों को मिलाया है लगता है; लिनक्स सिस्टम पर,/dev/random यादृच्छिक डिवाइस को अवरुद्ध करने वाली उच्च गुणवत्ता वाली है। उच्च गुणवत्ता वाले यादृच्छिक संख्या उत्पन्न करने के लिए कोई और एकत्रित एन्ट्रॉपी उपलब्ध नहीं होने पर यह "लटका" जाएगा।/dev/urandom गैर-अवरुद्ध और छद्म यादृच्छिक होना चाहिए। – geoffspear
'/ dev/random' के बारे में, देखें [विकी] (http://en.wikipedia.org/wiki//dev/random):" जब एन्ट्रॉपी पूल खाली होता है, तो/dev/random से पढ़ता है अतिरिक्त तक ब्लॉक पर्यावरण शोर इकट्ठा किया जाता है। " '/ dev/urandom' हालांकि गैर-अवरुद्ध होना चाहिए, क्या आप वाकई इसका इस्तेमाल करते हैं? – delnan
एक तरफ के रूप में, आप 'सिर -1' भाग गए, इसका एक पंक्ति पढ़ने का प्रभाव होगा, यानी। जब तक यह एक नई लाइन का सामना नहीं करता तब तक पढ़ें। यदि आप थोड़ी सी मात्रा को पढ़ने की कोशिश कर रहे हैं, तो आपको शायद इसके बजाय 'dd' का उपयोग करना चाहिए। – Hasturkun