लिनक्स और सोलारिस पर पीआईडी ​​की सीमा क्या है?


12

लिनक्स और सोलारिस पर पीआईडी ​​(प्रोसेस आईडी) के लिए अधिकतम और न्यूनतम मूल्य क्या है?

जवाबों:


13

से http://www.alexxoid.com/blog/linux/getting-the-max-pid-value-for-linux-process.html :

अधिकतम PID मान प्राप्त करने के लिए जिसे Linux प्रक्रिया को सौंपा जा सकता है, निम्नलिखित कमांड चलाएँ:

cat /proc/sys/kernel/pid_max

अधिकांश लिनक्स मशीनों पर, परिणाम 32768 (= 2 15 ) है।

हालांकि, यदि आवश्यक हो तो इसे 4194304 (= 2 22 ) तक किसी भी मूल्य पर सेट किया जा सकता है। उदाहरण के लिए, पीआईडी ​​टकराव से बचने के लिए सर्वर की एक बड़ी सीमा हो सकती है।


15

आपने एक लिनक्स उत्तर दिया है और स्वीकार किया है। सोलारिस पर, एक प्रक्रिया आईडी का अधिकतम मूल्य एक कर्नेल ट्यून करने योग्य पैरामीटर pidmaxहै /etc/system- जिसमें 30,000 की चूक होती है और जिसे 266 और 999,999 के बीच कहीं भी सेट किया जा सकता है। ध्यान दें कि यह नहीं है max_nprocs, जो कि एक कर्नेल ट्यून करने योग्य पैरामीटर है, जो एक भिन्न भिन्न फ़ंक्शन के साथ है।


आपने उल्लेख किया कि max_nprocsअलग है, क्या अंतर है?
ffledgling

1
@ असफ़लता max_nprocsसमवर्ती प्रक्रियाओं की संख्या को सीमित करती है, भले ही अप्रयुक्त pids उपलब्ध हों या नहीं।
जलीगेरे

2

न्यूनतम 1 है और आमतौर पर अधिकतम 2 ^ 15 है


... सोलारिस को छोड़कर, सवाल में, जहां यह नहीं है।
JDBP

न्यूनतम PID वास्तव में 0 है, यानी कर्नेल जो वास्तव में एक प्रक्रिया नहीं है ...
jlliagre

क्या कर्नेल को पीआईडी ​​मिलती है?
जियोवानी टरलोनी

इसे एक की आवश्यकता नहीं है, लेकिन इसे पीआईडी ​​0. दिया गया है। लिनक्स के तहत, मुझे लगता है कि यह केवल पीपीआईडी ​​के रूप में दिखाया गया है, लेकिन सोलारिस के तहत, निश्चित रूप से एक / proc / 0 प्रविष्टि और ps रिपोर्ट प्रक्रिया 0 को "शेड्यूल" के रूप में दिखाया गया है।
जूलियरे

@jlliagre ubuntu नहीं है /proc/0ps -p 0काम करता है :), वैसे भी, एक चर पीआईडी प्रारंभकर्ता के रूप में, सबसे अच्छा प्रतीत हो रहा है-1
कुंभ पावर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.