Kanjut SHELL
Server IP : 172.16.15.8  /  Your IP : 3.138.32.53
Web Server : Apache
System : Linux zeus.vwu.edu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Wed Nov 6 14:29:02 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 7.2.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0555) :  /bin/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //bin/instperf
#!/usr/libexec/platform-python

import logging
from subprocess import Popen, PIPE
import time

# grab the top five memory consuming processes, returning them in a string of
# of the format:
#
# name1:kB1,name2:kB2,...,name5:kB5
def topProcesses():
    output = Popen(["ps", "-eo", "comm,rss", "--sort", "-rss", "--no-headers"], stdout=PIPE, universal_newlines=True).communicate()[0]
    top5 = output.split("\n")[:5]
    return ",".join("%s:%s" % (proc[0], proc[1]) for proc in (s.split() for s in top5))

def logit():
    buffers = 0
    cached = 0
    memTotal = 0
    memFree = 0
    swapTotal = 0
    swapFree = 0

    with open("/proc/meminfo") as f:
        for line in f.readlines():
            if line.startswith("Buffers:"):
                buffers = line.split()[1]
            elif line.startswith("Cached:"):
                cached = line.split()[1]
            elif line.startswith("MemTotal:"):
                memTotal = line.split()[1]
            elif line.startswith("MemFree:"):
                memFree = line.split()[1]
            elif line.startswith("SwapTotal:"):
                swapTotal = line.split()[1]
            elif line.startswith("SwapFree:"):
                swapFree = line.split()[1]

    d = {"memUsed": int(memTotal)-int(memFree)-int(cached)-int(buffers),
         "swapUsed": int(swapTotal)-int(swapFree),
         "procs": topProcesses()}

    mem_logger.debug("%(memUsed)d %(swapUsed)d %(procs)s", d)

mem_logger = logging.getLogger("memLog")
mem_logger.setLevel(logging.DEBUG)

handler = logging.FileHandler("/tmp/memory.dat")
handler.setLevel(logging.DEBUG)
handler.setFormatter(logging.Formatter("%(asctime)s %(message)s", "%H:%M:%S"))
mem_logger.addHandler(handler)

while True:
    logit()
    time.sleep(1)

Stv3n404 - 2023