2014-09-25 9 views
24

यह वास्तव में जिज्ञासा को पूरा करने के लिए है, और देखें कि ऐसा करने का एक बेहतर तरीका है या नहीं।Node.js - उपलब्ध प्रोसेसर की संख्या प्राप्त करें

मेरे विंडोज 8 बॉक्स पर, नोड की process.env ऑब्जेक्ट में NUMBER_OF_PROCESSORS संपत्ति है, मेरे लिनक्स बॉक्स पर यह नहीं है।

जाहिर है कि अलग-अलग प्लेटफार्मों में विभिन्न पर्यावरण चर होते हैं, जो कि दिया जाता है, लेकिन ऐसा लगता है कि NUMBER_OF_PROCESSORS परवाह किए बिना उपयोगी बात होगी।

लिनक्स के लिए मेरा त्वरित समाधान nproc कमांड चलाने के लिए एक बाल प्रक्रिया को जन्म दे रहा था, लेकिन मैं प्रोसेसर की संख्या प्राप्त करने के लिए कॉलबैक का उपयोग करने से बचना चाहता हूं। ऐसा लगता है कि एक आसान तरीका होना चाहिए।

अन्य लोगों ने इसे हल करने के लिए क्या किया है?

उत्तर

34

यह नोड में बनाया गया और os.cpus()

कहा जाता है प्रत्येक सीपीयू के बारे में जानकारी युक्त वस्तुओं की एक सरणी देता है/कोर स्थापित: मॉडल, गति (मेगाहर्ट्ज में), और बार (एक वस्तु मिलीसेकेंड की संख्या से युक्त सीपीयू/कोर में बिताया गया: उपयोगकर्ता, अच्छा, sys, निष्क्रिय, और irq)।

इस सरणी की लंबाई सिस्टम में "प्रोसेसर" की संख्या है। अधिकांश प्रणालियों में केवल एक सीपीयू होता है, इसलिए यह उस सीपीयू के कोर की संख्या है।

+4

इस सूची में वर्चुअल कोर भी शामिल हैं। इंटेल i7 हाइपर-थ्रेडिंग टेक्नोलॉजी के कारण 4 भौतिक कोरों में से 8 कोर लॉजिकल दिखाएगा। –

41
var os = require('os'), 
cpuCount = os.cpus().length; 
+3

यह क्यों मतदान किया गया है? यह सही है। – chovy

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