Displaying system information using psutil

  • Python
  • Thread starter zak100
  • Start date
  • #1
zak100
Gold Member
462
11

Summary:

I am trying to display system information. I found some commands but I am getting a sytax error

Main Question or Discussion Point

Hi,
I am getting following error message:
Traceback (most recent call last):
File "/home/zulfi/PycharmProjects/Classes/psutilPrintInfo.py", line 31, in <module>
obj_Counting_SysInfo.main()
File "/home/zulfi/PycharmProjects/Classes/psutilPrintInfo.py", line 27, in main
self.system_info()
File "/home/zulfi/PycharmProjects/Classes/psutilPrintInfo.py", line 16, in system_info
mem = process.get_memory_info()[0] / float(2 ** 30) # memory in GB
AttributeError: 'Process' object has no attribute 'get_memory_info'
I have written the following code which should display the system information of a simple program which I am running as a function:
Python:
import psutil

import os


class Counting_SysInfo:

    def __init__(self, i):

        self.i = i


    def Print_Numbers(self):

        for i in range(50):

            print (i)


    def system_info(self):

        # return the memory usage in MB

        self.Print_Numbers()

        process = psutil.Process(os.getpid())

        mem = process.get_memory_info()[0] / float(2 ** 30)  # memory in GB

        cpu = process.cpu_percent() / psutil.cpu_count()

        disk = process.disk_usage(part.mountpoint).percent  # https://github.com/giampaolo/psutil/blob/master/scripts/disk_usage.py

        vMem = int(process.virtual_memory().available)

        print(process.memory_info().rss)  # in bytes

        RSS = process.memory_info().rss

        # https://stackoverflow.com/questions/17990227/whats-the-unit-of-rss-in-psutil-process-get-memory-info

        pageFaults = process.memory_info().pfaults  # https://readthedocs.org/projects/giamptest/downloads/pdf/latest/

        print("mem= ", mem, "cpu= ", cpu, 'disk= ',disk, "VMem= ", vMem, "RSS= ", RSS, "page faults=", pageFaults )


    def main(self):

        self.system_info()


if __name__ == "__main__":

    obj_Counting_SysInfo = Counting_SysInfo(10)

    obj_Counting_SysInfo.main()



Somebody please guide me how to solve this problem.

Zulfi.
 

Answers and Replies

  • #2
33,632
5,287
Looking at the documentation for the Process class in psutil, there is no member named get_memory_info, which is exactly what the error message says. The Process class apparently has a member named memory_info().
 
  • Like
Likes sysprog and pbuk
  • #3
zak100
Gold Member
462
11
Hi,
Thanks, I solved the above but I am getting cpu utilization zero.

Code:
def systeminfo(self):
        print("memory usage=", psutil.Process(os.getpid()).memory_info()[0])
        print(psutil.disk_usage('/'))
        print(psutil.Process(os.getpid()).cpu_percent(interval=1))
        print("virtual mem= ", psutil.virtual_memory().available)
        # print(psutil.Process(os.getpid()).memory_info().pfaults)
        print("rss=", psutil.Process(os.getpid()).memory_info().rss)
        self.selectionSort()
        print(psutil.Process(os.getpid()).cpu_percent(interval=1))


    def main(self):
        self.generate1000_5digit_RandomNum()
        self.systeminfo()


if __name__ == "__main__":
    objSSSort = SSSort(1000)
    objSSSort.main()
I am trying with 1000 elements in the sorting list:

Following is one portion of my output:
memory usage= 15269888
sdiskusage(total=982900588544, used=141417086976, free=791483416576, percent=15.2)
0.0
virtual mem= 12050067456
rss= 15269888
(0, 10000)

Somebody please guide me.

Zulfi.
 

Related Threads on Displaying system information using psutil

Replies
3
Views
467
Replies
7
Views
556
  • Last Post
Replies
18
Views
16K
Replies
8
Views
2K
  • Last Post
Replies
0
Views
3K
  • Last Post
Replies
8
Views
4K
  • Last Post
Replies
1
Views
4K
Replies
13
Views
1K
Top