macOS上有没有类似Linux free命令的Python内存查看命令行工具?


macOS上有没有类似Linux free命令的Python内存查看命令行工具?
1 回复

macOS上可以用psutil库写个简单的Python脚本来实现类似free命令的功能。这个库能跨平台获取系统信息,包括内存使用情况。

#!/usr/bin/env python3
import psutil
import sys

def human_readable(bytes_value):
    """将字节转换为易读的格式"""
    for unit in ['B', 'K', 'M', 'G', 'T']:
        if bytes_value < 1024.0:
            return f"{bytes_value:.1f}{unit}"
        bytes_value /= 1024.0
    return f"{bytes_value:.1f}P"

def main():
    if not psutil:
        print("需要安装psutil库: pip install psutil")
        sys.exit(1)
    
    mem = psutil.virtual_memory()
    swap = psutil.swap_memory()
    
    print("内存使用情况:")
    print(f"总内存: {human_readable(mem.total)}")
    print(f"已使用: {human_readable(mem.used)}")
    print(f"空闲: {human_readable(mem.available)}")
    print(f"使用率: {mem.percent}%")
    
    print("\n交换分区:")
    print(f"总交换: {human_readable(swap.total)}")
    print(f"已使用: {human_readable(swap.used)}")
    print(f"空闲: {human_readable(swap.free)}")
    print(f"使用率: {swap.percent}%")

if __name__ == "__main__":
    main()

保存为meminfo.py,运行前先装依赖:pip install psutil。输出格式类似free -h,显示总内存、已用、空闲和使用百分比,包括物理内存和交换分区。

这脚本比系统自带的vm_stat输出更直观,数据也够用。

回到顶部