|
- from os.path import dirname
-
- import psutil
- from loguru import logger
-
- from enums.ExceptionEnum import ExceptionType
- from exception.CustomerException import ServiceException
-
-
- def check_cpu(base_dir, requestId=None):
- path = dirname(base_dir)
- cpu_use = psutil.cpu_percent()
- cpu_mem = psutil.virtual_memory().percent
- cpu_swap = psutil.swap_memory().percent
- cpu_disk = psutil.disk_usage(path).percent
- if float(cpu_use) > 60 or float(cpu_mem) > 80 or cpu_swap > 85 or cpu_disk > 90:
- if requestId:
- logger.info("""###############################################################################################
- CPU 使用率:{}, 内存使用:{}, SWAP内存使用率:{}, 服务磁盘使用率:{}, requestId:{}
- ###############################################################################################""",
- cpu_use, cpu_mem, cpu_swap, cpu_disk, requestId)
- else:
- logger.info("""###############################################################################################
- CPU 使用率:{}, 内存使用:{}, SWAP内存使用率:{}, 服务磁盘使用率:{}
- ###############################################################################################""",
- cpu_use, cpu_mem, cpu_swap, cpu_disk)
- raise ServiceException(ExceptionType.NO_CPU_RESOURCES.value[0],
- ExceptionType.NO_CPU_RESOURCES.value[1])
-
-
- def print_cpu_ex_status(base_dir, requestId=None):
- path = dirname(base_dir)
- cpu_use = psutil.cpu_percent()
- cpu_mem = psutil.virtual_memory().percent
- cpu_swap = psutil.swap_memory().percent
- cpu_disk = psutil.disk_usage(path).percent
- result = False
- if float(cpu_use) > 60 or float(cpu_mem) > 70 or cpu_swap > 85 or cpu_disk > 90:
- result = True
- if requestId:
- logger.info("""###############################################################################################
- CPU 使用率:{}, 内存使用:{}, SWAP内存使用率:{}, 服务磁盘使用率:{}, requestId:{}
- ###############################################################################################""",
- cpu_use, cpu_mem, cpu_swap, cpu_disk, requestId)
- else:
- logger.info("""###############################################################################################
- CPU 使用率:{}, 内存使用:{}, SWAP内存使用率:{}, 服务磁盘使用率:{}
- ###############################################################################################""",
- cpu_use, cpu_mem, cpu_swap, cpu_disk)
- return result
-
-
- def print_cpu_status(base_dir, requestId=None):
- path = dirname(base_dir)
- cpu_use = psutil.cpu_percent()
- cpu_mem = psutil.virtual_memory().percent
- cpu_swap = psutil.swap_memory().percent
- cpu_lj = psutil.cpu_count() # 逻辑cpu个数
- cpu_wl = psutil.cpu_count(logical=False) # 物理cpu个数
- cpu_disk = psutil.disk_usage(path).percent
- if requestId:
- logger.info("""###############################################################################################
- CPU 使用率:{}, 内存使用:{}, SWAP内存使用率:{}, 逻辑个数:{}, 物理个数:{}, 服务磁盘使用率:{}, requestId:{}
- ###############################################################################################""", cpu_use,
- cpu_mem, cpu_swap, cpu_lj, cpu_wl, cpu_disk, requestId)
- else:
- logger.info("""###############################################################################################
- CPU 使用率:{}, 内存使用:{}, SWAP内存使用率:{}, 逻辑个数:{}, 物理个数:{}, 服务磁盘使用率:{}
- ###############################################################################################""", cpu_use,
- cpu_mem, cpu_swap, cpu_lj, cpu_wl, cpu_disk)
|