আপনি সিসমন চেষ্টা করতে চাইতে পারেন । যদিও গ্ল্যানসগুলির মতো অভিনব নয়, এটি খুব সোজা এবং ব্যবহারযোগ্য।
আপনি যদি নোংরা হতে চান এবং অজগরটিতে কিছু স্ক্রিপ্টিং করতে চান তবে আপনাকে শুরু করার জন্য পাইথনের সাথে সিস্টেম মনিটরিংয়ের কয়েকটি বুনিয়াদি এখানে রয়েছে।
আপনার psutil
বেশিরভাগ জিনিস নিরীক্ষণের জন্য একটি বাহ্যিক মডিউল প্রয়োজন হবে । উত্স থেকে বিল্ডিংয়ের পরিবর্তে বাহ্যিক মডিউল ইনস্টলার ব্যবহার করা সবচেয়ে সহজ।
দ্রষ্টব্য: এই উদাহরণগুলি পাইথন ২.7 এ লেখা হয়েছে
sudo apt-get install pip
sudo pip install psutil
এখন আমরা মডিউল ইনস্টল করা আছে, আমরা কোডিং শুরু করতে পারেন।
প্রথমে একটি ফাইল তৈরি করুন usage.py
।
gedit ~/usage.py
আমদানি করে শুরু করুন psutil
import psutil
তারপরে, আপনার সিপিইউ কোরগুলি যে শতাংশে চলছে তা নিরীক্ষণের জন্য একটি ফাংশন তৈরি করুন।
def cpu_perc():
cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
for i in range(len(cpu_perc)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
এর কিছুটা ভাঙ্গি, আমরা কি?
প্রথম লাইনটি, cpu_num = psutil.cpu_percent(interval=1, percpu=True)
আপনার সিপিইউতে কোরগুলি যে শতাংশে চলছে তা শতাংশ খুঁজে বের করে এবং এটিকে একটি তালিকায় নির্ধারিত করে cpu_perc
।
এই লুপ ঠিক এখানে
for i in range(len(cpu_num)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
লুপ এমন একটি যা আপনার প্রতিটি সিপিইউ কোরের বর্তমান শতাংশের মুদ্রণ করে।
র্যামের ব্যবহার যুক্ত করা যাক।
বলা একটি ফাংশন তৈরি করুন ram_perc
।
def ram_perc():
mem = psutil.virtual_memory()
mem_perc = mem.percent
print "RAM: ", mem_perc, "%"
psutil.virtual_memory
আপনার কম্পিউটারের র্যাম সম্পর্কে বিভিন্ন তথ্য সম্বলিত একটি ডেটা সেট দেয়।
এর পরে, আপনি আপনার নেটওয়ার্ক সম্পর্কে কিছু তথ্য যুক্ত করতে পারেন।
def net():
net = psutil.net_io_counters()
mbytes_sent = float(net.bytes_sent) / 1048576
mbytes_recv = float(net.bytes_recv) / 1048576
print "MB sent: ", mbytes_sent
print "MB received: ", mbytes_recv
যেহেতু psutil.net_io_counters()
কেবলমাত্র আমাদের পাঠানো এবং বাইটে প্রাপ্ত প্যাকেটগুলি সম্পর্কে তথ্য দেয়, তাই কিছু রূপান্তর করা জরুরি ছিল।
অদলবদলের স্থান সম্পর্কে কিছু তথ্য পেতে, এই ফাংশনটি যুক্ত করুন।
def swap_perc():
swap = psutil.swap_memory()
swap_perc = swap.percent
এটি একদম সোজাসাপ্টা।
তাপমাত্রা করা এক ধরণের কঠিন কাজ, তাই আপনার হার্ডওয়ারের সাথে কী কাজ করবে তা নির্ধারণ করার জন্য আপনাকে নিজের কিছু গবেষণা করার প্রয়োজন হতে পারে। আপনাকে একটি নির্দিষ্ট ফাইলের সামগ্রী প্রদর্শন করতে হবে।
তাপমাত্রার চেয়ে ডিস্কের ব্যবহার অনেক সহজ। আপনাকে যা করতে হবে তা হ'ল /
একটি নির্দিষ্ট ফাংশনের মাধ্যমে আপনি যে ডিস্কটি নিরীক্ষণ করতে চান তা পাস করুন ।
def disks():
if len(sys.argv) > 1:
for disk in range(1, len(sys.argv)):
tmp = psutil.disk_usage(sys.argv[disk])
print sys.argv[disk], "\n"
print "Megabytes total: ",
print str(float(tmp.total) / 1048576)
print "Megabytes used: ",
print str(float(tmp.used) / 1048576)
print "Megabytes free: ",
print str(float(tmp.free) / 1048576)
print "Percentage used: ",
print tmp.percent, "\n"
এর মূল আউটপুট psutil.disk_usage
হ'ল এটি,
>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)
কিন্তু আপনি শুধু গ্রহণ করতে পারে total
, used
, free
, অথবা percent
।
সমাপ্ত প্রোগ্রাম: (পূর্বোক্ত ফাংশনগুলি সম্মিলিত করা হয়েছিল)
import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var
def disp(degree):
global cpu_perc
global swap
global swap_perc
global mem
global mem_perc
global net
global mbytes_sent
global mbytes_recv
cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
swap = psutil.swap_memory()
swap_perc = swap.percent
mem = psutil.virtual_memory()
mem_perc = mem.percent
net = psutil.net_io_counters()
mbytes_sent = float(net.bytes_sent) / 1048576
mbytes_recv = float(net.bytes_recv) / 1048576
os.system('clear') #clear the screen
print "-"*30
print "CPU"
print "-"*30
print "CPU Temperature: " , degree, "'C"
for i in range(len(cpu_perc)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
print "-"*30
print "MEMORY"
print "-"*30
print "RAM: ", mem_perc, "%"
print "Swap: ", swap_perc, "%"
print "-"*30
print "NETWORK"
print "-"*30
print "MB sent: ", mbytes_sent
print "MB received: ", mbytes_recv
print "-"*30
print "DISKS"
print "-"*30
if len(sys.argv) > 1:
for disk in range(1, len(sys.argv)):
tmp = psutil.disk_usage(sys.argv[disk])
print sys.argv[disk], "\n"
print "Megabytes total: ",
print str(float(tmp.total) / 1048576)
print "Megabytes used: ",
print str(float(tmp.used) / 1048576)
print "Megabytes free: ",
print str(float(tmp.free) / 1048576)
print "Percentage used: ",
print tmp.percent, "\n"
def main():
print("Press Ctrl+C to exit")
while True:
temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
temp = float(temp) / 1000
disp(temp)
main()
লাইনটি temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
আপনার হার্ডওয়্যার কনফিগারেশনের সাথে কাজ করতে পারে না।
কমান্ড লাইন থেকে এই প্রোগ্রামটি চালান। কমান্ড লাইন থেকে আর্গুমেন্ট হিসাবে আপনি যে ডিস্কগুলি নিরীক্ষণ করতে চান তা পাস করুন।
$ python usage.py /
Press Ctrl+C to exit
------------------------------
CPU
------------------------------
CPU Temperature: 39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM: 33.6 %
Swap: 6.4 %
------------------------------
NETWORK
------------------------------
MB sent: 2.93382358551
MB received: 17.2131490707
------------------------------
DISKS
------------------------------
/
Megabytes total: 13952.484375
Megabytes used: 8542.6640625
Megabytes free: 4678.5703125
Percentage used: 61.2
/media/calvin/Data
Megabytes total: 326810.996094
Megabytes used: 57536.953125
Megabytes free: 269274.042969
Percentage used: 17.6
আশাকরি এটা সাহায্য করবে! আপনার কোন প্রশ্ন থাকলে মন্তব্য করুন।
https://github.com/calthecoder/sysmon-1.0.1