मैं एक समस्या है, जिसमें अपने सर्वर अपनी सामान्य प्रक्रियाओं और चेक की कुछ असफल रहने क्योंकि सर्वर का स्मृति पूरी तरह से भरा हुआ है और ले लिया था शुरू कर दिया था।लिनक्स स्मृति उपयोग इतिहास
मैं प्रवेश के इतिहास में देखा और पाया कि कुछ जावा प्रक्रियाओं थे कि यह क्या मार डाला।
मैं "टॉप" कमांड का इस्तेमाल किया देखने के लिए प्रक्रियाओं सबसे स्मृति को ले रहे थे अभी (के बाद समस्या का समाधान हो गया था) और यह एक जावा प्रक्रिया थी। तो संक्षेप में, मैं बता सकता हूं कि अभी कौन सी प्रक्रियाएं सबसे अधिक मेमोरी ले रही हैं।
क्या मैं जानना चाहता हूँ अगर वहाँ देखने के लिए प्रक्रियाओं समय में सबसे स्मृति ले रहे थे जब विफलताओं हो रहा शुरू कर दिया एक तरह से है? शायद लिनक्स विशेष रूप से ट्रैक या स्मृति उपयोग का लॉग रखता है? मुझे वास्तव में कोई जानकारी नहीं है लेकिन अगर मैं उस तरह की जानकारी देख सकता तो यह बहुत अच्छा होगा।
Fwiw, आप mlockall() या इसी तरह के एक के दौरान उपयोग कर सकते हैं एक प्रक्रिया अपेक्षाकृत विश्वसनीय बनाने के लिए करने के लिए मेमोरी क्रंच ईजी: http://stromberg.dnsalias.org/~strombrg/fallback-reboot/ – user1277476
यह केवल बहुत सीमित अनुप्रयोगों के लिए सच है। किसी भी सिस्टम कॉल को कर्नेल में आवंटन विफलताओं के कारण असफल होने की संभावना है। बाहरी प्रक्रियाओं को फैलाना सवाल से बाहर है। बफर थकावट के कारण फाइल सिस्टम I/O अनिश्चित काल तक लटका सकता है। यह सच है कि यह असंभव नहीं है, लेकिन यह असाधारण देखभाल के साथ किया जाना चाहिए। –