102 lines
2.6 KiB
Python
102 lines
2.6 KiB
Python
# -*- coding:utf-8 -*-
|
|
#############################################################################
|
|
# Copyright (c) 2020 Huawei Technologies Co.,Ltd.
|
|
#
|
|
# openGauss is licensed under Mulan PSL v2.
|
|
# You can use this software according to the terms
|
|
# and conditions of the Mulan PSL v2.
|
|
# You may obtain a copy of Mulan PSL v2 at:
|
|
#
|
|
# http://license.coscl.org.cn/MulanPSL2
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OF ANY KIND,
|
|
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
# See the Mulan PSL v2 for more details.
|
|
# ----------------------------------------------------------------------------
|
|
# Description : memory.py is a utility to do something for memory information.
|
|
#############################################################################
|
|
import sys
|
|
import psutil
|
|
|
|
sys.path.append(sys.path[0] + "/../../")
|
|
from gspylib.common.ErrorCode import ErrorCode
|
|
|
|
"""
|
|
Requirements:
|
|
get memory and swap size
|
|
"""
|
|
|
|
|
|
class memoryInfo(object):
|
|
"""
|
|
function: Init the MemInfo options
|
|
"""
|
|
|
|
def __init__(self):
|
|
"""
|
|
function: Init the MemInfo options
|
|
"""
|
|
|
|
@staticmethod
|
|
def getMemUsedSize():
|
|
"""
|
|
get used memory size
|
|
"""
|
|
return psutil.virtual_memory().used
|
|
|
|
@staticmethod
|
|
def getMemFreeSize():
|
|
"""
|
|
get free memory size
|
|
"""
|
|
return psutil.virtual_memory().free
|
|
|
|
@staticmethod
|
|
def getSwapUsedSize():
|
|
"""
|
|
get used swap size
|
|
"""
|
|
return psutil.swap_memory().used
|
|
|
|
@staticmethod
|
|
def getSwapFreeSize():
|
|
"""
|
|
get free swap size
|
|
"""
|
|
return psutil.swap_memory().free
|
|
|
|
@staticmethod
|
|
def getSwapTotalSize():
|
|
"""
|
|
function : Get swap memory total size
|
|
input : null
|
|
output : total memory size (byte)
|
|
"""
|
|
total = 0
|
|
try:
|
|
total = psutil.swap_memory().total
|
|
except Exception as e:
|
|
raise Exception(ErrorCode.GAUSS_505["GAUSS_50502"]
|
|
+ "Error: %s" % str(e))
|
|
return total
|
|
|
|
@staticmethod
|
|
def getMemTotalSize():
|
|
"""
|
|
function : Get system virtual memory total size
|
|
input : null
|
|
output : total virtual memory(byte)
|
|
"""
|
|
total = 0
|
|
try:
|
|
total = psutil.virtual_memory().total
|
|
except Exception as e:
|
|
raise Exception(ErrorCode.GAUSS_505["GAUSS_50502"]
|
|
+ "Error: %s" % str(e))
|
|
return total
|
|
|
|
|
|
g_memory = memoryInfo()
|