psutil
1#!/usr/bin/env python3
2
3# Copyright (c) 2009, Giampaolo Rodola'. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7"""Print system memory information.
8
9$ python3 scripts/meminfo.py
10MEMORY
11------
12Total : 9.7G
13Available : 4.9G
14Percent : 49.0
15Used : 8.2G
16Free : 1.4G
17Active : 5.6G
18Inactive : 2.1G
19Buffers : 341.2M
20Cached : 3.2G
21
22SWAP
23----
24Total : 0B
25Used : 0B
26Free : 0B
27Percent : 0.0
28Sin : 0B
29Sout : 0B
30"""
31
32import psutil33from psutil._common import bytes2human34
35
36def pprint_ntuple(nt):37for name in nt._fields:38value = getattr(nt, name)39if name != 'percent':40value = bytes2human(value)41print('%-10s : %7s' % (name.capitalize(), value))42
43
44def main():45print('MEMORY\n------')46pprint_ntuple(psutil.virtual_memory())47print('\nSWAP\n----')48pprint_ntuple(psutil.swap_memory())49
50
51if __name__ == '__main__':52main()53