আমি জাভাতে নিম্নলিখিত সিস্টেমের তথ্য পর্যবেক্ষণ করতে চাই:
- বর্তমান সিপিইউ ব্যবহার ** (শতাংশ)
- উপলব্ধ মেমরি * (বিনামূল্যে / মোট)
উপলব্ধ ডিস্কের স্থান (বিনামূল্যে / মোট)
* নোট করুন যে আমি বোঝাতে চাইছি পুরো সিস্টেমের জন্য সামগ্রিক মেমরি কেবল জেভিএম নয়।
আমি একটি ক্রস-প্ল্যাটফর্ম সমাধান (লিনাক্স, ম্যাক এবং উইন্ডোজ) খুঁজছি যা আমার নিজের কোডের উপর নির্ভর করে না বাহ্যিক প্রোগ্রামগুলিতে ফোন করে বা জেএনআই ব্যবহার করে। যদিও এটি ব্যবহারযোগ্য বিকল্প, তবে কারওর ইতিমধ্যে আরও ভাল সমাধান থাকলে আমি নিজে ওএস-নির্দিষ্ট কোড বজায় না রাখতে পছন্দ করব to
যদি এখানে কোনও ফ্রি লাইব্রেরি থাকে যা এটি নির্ভরযোগ্য, ক্রস প্ল্যাটফর্ম পদ্ধতিতে করে, তবে তা দুর্দান্ত হবে (যদিও এটি বাহ্যিক কল করে বা দেশীয় কোড নিজেই ব্যবহার করে)।
কোন পরামর্শ অনেক প্রশংসা করা হয়।
স্পষ্ট করতে, আমি কেবল জাভা প্রক্রিয়া (এস) নয় পুরো সিস্টেমের জন্য বর্তমান সিপিইউ ব্যবহার করতে চাই।
একটি সিটি প্যাকেজে আমি যে সমস্ত কার্যকারিতা সন্ধান করছি সেগুলি সিআরআই এপিআই সরবরাহ করে, সুতরাং এটি আমার প্রশ্নের সেরা উত্তর। তবে এটি জিপিএল-এর অধীনে লাইসেন্স পাওয়ার কারণে, আমি এটি আমার মূল উদ্দেশ্যে (একটি বদ্ধ উত্স, বাণিজ্যিক পণ্য) ব্যবহার করতে পারি না। এটা সম্ভব যে হাইপারিক সিআইসিকে বাণিজ্যিক ব্যবহারের জন্য লাইসেন্স দিতে পারে, তবে আমি এটি সন্ধান করি নি। আমার জিপিএল প্রকল্পগুলির জন্য, আমি অবশ্যই ভবিষ্যতে সিগারিকে বিবেচনা করব।
আমার বর্তমান প্রয়োজনের জন্য, আমি নিম্নলিখিতগুলির দিকে ঝুঁকছি:
- সিপিইউ ব্যবহারের জন্য,
OperatingSystemMXBean.getSystemLoadAverage() / OperatingSystemMXBean.getAvailableProcessors()
(প্রতি সিপিইউতে গড় লোড) - স্মৃতির জন্য,
OperatingSystemMXBean.getTotalPhysicalMemorySize()
এবংOperatingSystemMXBean.getFreePhysicalMemorySize()
- ডিস্ক স্পেসের জন্য,
File.getTotalSpace()
এবংFile.getUsableSpace()
সীমাবদ্ধতা:
getSystemLoadAverage()
(অর্থাত রিপোর্ট করা হয়েছে এবং ডিস্ক স্থান কুয়েরিং পদ্ধতি শুধুমাত্র উপলব্ধ জাভা 6. এছাড়াও অধীনে, কিছু JMX কার্যকারিতা সমস্ত প্ল্যাটফর্মের জন্য উপলব্ধ নাও হতে পারে getSystemLoadAverage()
আয় -1 Windows এ)।
যদিও মূলত জিপিএল অধীনে লাইসেন্স করা, এটা পরিবর্তন করা হয়েছে থেকে Apache 2.0 লাইন্সের , যা সাধারণত বদ্ধ উৎস, বাণিজ্যিক পণ্যের জন্য ব্যবহার করা যাবে।