pmem.py (v0.1)
This commit is contained in:
parent
585d6cafd3
commit
a16643c6de
98
pmem.py
Executable file
98
pmem.py
Executable file
|
@ -0,0 +1,98 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# pmem - Show system memory |
|
||||
# Created by q3aql (q3aql@duck.com) |
|
||||
# Licensed by GPL v2.0 |
|
||||
# Last update: 29-10-2022 |
|
||||
# Compatible with Python 3.x |
|
||||
# -----------------------------------------------------------
|
||||
version="0.1"
|
||||
|
||||
# Import python-modules
|
||||
import psutil
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Check if your system use Python 3.x
|
||||
if sys.version_info<(3,0):
|
||||
print ("")
|
||||
print (" You need python 3.x to run this program.")
|
||||
print ("")
|
||||
exit()
|
||||
|
||||
# Check system
|
||||
if os.name == "posix":
|
||||
os.chdir(os.environ["HOME"])
|
||||
elif os.name == "nt":
|
||||
print("")
|
||||
print(" Error: Only Linux and *BSD systems are supported")
|
||||
print("")
|
||||
exit()
|
||||
|
||||
print('')
|
||||
print(' List of processes (Mem + Name)')
|
||||
print(' ==============================')
|
||||
print('')
|
||||
|
||||
numprocess=0
|
||||
for process in psutil.process_iter():
|
||||
numprocess = numprocess + 1
|
||||
Name = process.name() # Name of the process
|
||||
ID = process.pid # ID of the process
|
||||
readmemprocess = psutil.Process(ID)
|
||||
sysmemprocess = readmemprocess.memory_info()[0]
|
||||
ID = str(ID)
|
||||
if sysmemprocess > 1024:
|
||||
sysmemprocess = sysmemprocess / 1024
|
||||
sysmemprocess = round(sysmemprocess, 2)
|
||||
showmemprocess = str(sysmemprocess)
|
||||
showmemprocess = showmemprocess + ' KiB'
|
||||
if sysmemprocess > 1024:
|
||||
sysmemprocess = sysmemprocess / 1024
|
||||
sysmemprocess = round(sysmemprocess, 2)
|
||||
showmemprocess = str(sysmemprocess)
|
||||
showmemprocess = showmemprocess + ' MiB'
|
||||
if sysmemprocess > 1024:
|
||||
sysmemprocess = sysmemprocess / 1024
|
||||
sysmemprocess = round(sysmemprocess, 2)
|
||||
showmemprocess = str(sysmemprocess)
|
||||
showmemprocess = showmemprocess + ' GiB'
|
||||
print (' ' + showmemprocess + ' ' + Name + ' (PID: ' + ID + ')')
|
||||
|
||||
# Read file /proc/meminfo and create variables
|
||||
memfile = open('/proc/meminfo', 'r')
|
||||
memread = memfile.read()
|
||||
memsplit = memread.split()
|
||||
|
||||
# Memory variables
|
||||
memtotal = memsplit[1]
|
||||
memavailable = memsplit[7]
|
||||
|
||||
# Convert and calcule memory
|
||||
memtotal = int(memtotal)
|
||||
memavailable = int(memavailable)
|
||||
memactive = memtotal - memavailable
|
||||
if memsplit[2] == "kB":
|
||||
memtotal = memtotal / 1024 / 1024
|
||||
memavailable = memavailable / 1024 / 1024
|
||||
memactive = memactive / 1024 / 1024
|
||||
elif memsplit[2] == "B":
|
||||
memtotal = memtotal / 1024 / 1024 / 1024
|
||||
memavailable = memavailable / 1024 / 1024 / 1024
|
||||
memactive = memactive / 1024 / 1024 / 1024
|
||||
|
||||
# Show memory output
|
||||
memactive = round(memactive, 2)
|
||||
memactive = str(memactive)
|
||||
memavailable = round(memavailable, 2)
|
||||
memavailable = str(memavailable)
|
||||
memtotal = round(memtotal, 2)
|
||||
memtotal = str(memtotal)
|
||||
print('')
|
||||
print(' ============================================')
|
||||
print(' ' + memactive + ' GiB / ' + memtotal + ' GiB = ' + memavailable + " GiB Available")
|
||||
print('')
|
||||
print(' ==========================')
|
||||
print(" Total running process", numprocess)
|
||||
print('')
|
Loading…
Reference in New Issue
Block a user