查看 Linux 磁盘及内存使用状况

本文写在:最近同步几百T数据时候产生问题
①:日志打印太多,造成磁盘空间爆满
②:线程开太多,造成 CPU 使用率过高,程序挂掉

查看磁盘使用情况

  1. df -h 输出显示的数字形式的’G’(千兆字节),“M”(兆字节)和"K"(千字节)
    查看 Linux 磁盘及内存使用状况
    Size:总的目录文件可用磁盘大小
    Used: 已经使用大小
    Avail: 可用的
    Use%: 已经使用占用 % 比

  2. df -m 以 M 输出显示磁盘情况
    查看 Linux 磁盘及内存使用状况

  3. df -k 以 K 显示磁盘情况
    查看 Linux 磁盘及内存使用状况

查看内存使用情况

  1. top 查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息
    查看 Linux 磁盘及内存使用状况
    依次对应:
    PID — 进程id
    USER — 进程所有者
    PR — 进程优先级
    NI — nice值。负值表示高优先级,正值表示低优先级
    VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR — 共享内存大小,单位kb
    S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    %CPU — 上次更新到现在的CPU时间占用百分比
    %MEM — 进程使用的物理内存百分比
    TIME+ — 进程使用的CPU时间总计,单位1/100秒
    COMMAND — 进程名称(命令名/命令行)

  2. free 显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
    查看 Linux 磁盘及内存使用状况
    total : 总计物理内存的大小
    used : 已使用多大
    free : 完全空闲的内存
    Shared : 多个进程共享的内存总额
    Buffers/cached : 磁盘缓存的大小
    available:可用的内存大小

查看单个文件,目录大小

  1. du -h [文件名|目录]
    查看文件大小使用情况
    查看 Linux 磁盘及内存使用状况
    查看目录使用情况
    查看 Linux 磁盘及内存使用状况

解决问题

  1. 如果要保证磁盘空间充足,避免日志打印过多而造成系统程序挂掉,这时候就得写脚本定时清理日志文件
  2. 控制程序代码异步线程池数量,根据自己系统内存核数来控制线程池大小,避免出现 cpu 占满程序待机的状况