আমার একটি বড় সমস্যা আছে এবং তা হ'ল আমার সংস্থার প্রোডাকশন অ্যাপ্লিকেশন যা আমি দুর্ভাগ্যবশত শাটডাউন এবং পুনরায় চালু করতে পারি না (আমি কীভাবে নিশ্চিত নই, এবং আমি কোনও ভুল করতে চাই না) অনেকগুলি ফাইলের ব্যতিক্রম অনেক কিছু ছুঁড়ে দিচ্ছে একটি ftp সার্ভার থেকে পড়ার জন্য সকেট খোলার চেষ্টা করার সময় ওপেন করুন।
2013-01-02 16:19:03,222 ERROR [main] software.background.Program(Program.java:doExecute{225}) - Exception during ftp transfer
someclasses.ftp.FtpException: Could not create connection to xxxx
at someclasses.communication.ftp.FtpImpl.connect(FtpImpl.java:114)
at Program.doExecute(Program.java:176)
at Program.main(Program.java:287)
Caused by: java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:397)
at java.net.Socket.<init>(Socket.java:371)
at java.net.Socket.<init>(Socket.java:189)
at someclasses.Ftp.connect(Ftp.java:386)
আমি বুঝতে পারি যে খোলা ফাইল / সকেট ইত্যাদির প্রতি প্রয়োগের সীমাটি পৌঁছে গেছে। অ্যাপ্লিকেশনটি বন্ধ না করে আপাতত এই সর্বোচ্চ বাড়ানোর কোনও উপায় আছে কি? আমি কমান্ডটি চালিয়েছি ulimit
এবং এতে লেখা আছে unlimited
। lsof -p PID
কমান্ডের সাথে এটি কত সংযোগ চালু আছে তা খতিয়ে দেখার চেষ্টা করেছি তবে এতে "কমান্ড পাওয়া যায়নি" বলে উল্লেখ করা হয়েছে।
যদি কেউ আমাকে lsof এর মতো আরেকটি অনুরূপ প্রভাব (আমার মনে হয় এটি একটি লাল টুপি মেশিন) আছে এবং কীভাবে এই অস্থায়ী সমাধানের জন্য পরামর্শ পেতে সাহায্য করতে পারে তবে খুব খুশি হবেন? এর সর্বাধিক মনোরম সমাধান হ'ল অ্যাপ্লিকেশনটি খুলতে পারে এমন ফাইল / সকেটগুলি বাড়ানো increase এটি কেবল একটি সরল জাভা অ্যাপ্লিকেশন।
আগাম ধন্যবাদ!
অন্য সমাধানটি সম্পাদনা করুন যদি এমন কোনও আদেশ ছিল যেখানে আমি দেখতে পেলাম কীভাবে এই প্রোগ্রামটি সমস্ত ঘটনাচকীয় পতাকা সহ প্রথম থেকেই চালানো হয়েছিল। তাহলে আমি সম্ভবত এটি সাফল্যের সাথে পুনরায় চালু করতে পারি could এটি একটি উত্তরাধিকার অ্যাপ্লিকেশন।