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

查看磁盘使用情况

  1. df -h 输出显示的数字形式的’G’(千兆字节),“M”(兆字节)和"K"(千字节)
  2. android studi磁盘空间不足 安卓 磁盘占用分析_linux 磁盘内存命令

  3. Size:总的目录文件可用磁盘大小
    Used: 已经使用大小
    Avail: 可用的
    Use%: 已经使用占用 % 比
  4. df -m 以 M 输出显示磁盘情况
  5. android studi磁盘空间不足 安卓 磁盘占用分析_日志打印_02

  6. df -k 以 K 显示磁盘情况
  7. android studi磁盘空间不足 安卓 磁盘占用分析_linux 磁盘内存命令_03

查看内存使用情况

  1. top 查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息
  2. android studi磁盘空间不足 安卓 磁盘占用分析_linux 磁盘内存命令_04

  3. 依次对应:
    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 — 进程名称(命令名/命令行)
  4. free 显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
  5. android studi磁盘空间不足 安卓 磁盘占用分析_物理内存_05

  6. total : 总计物理内存的大小
    used : 已使用多大
    free : 完全空闲的内存
    Shared : 多个进程共享的内存总额
    Buffers/cached : 磁盘缓存的大小
    available:可用的内存大小

查看单个文件,目录大小

  1. du -h [文件名|目录]
    查看文件大小使用情况

    查看目录使用情况

解决问题

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

ls 查看文件与目录的命令,list 之意

  1. ls

grep 命令从下列文件中查找

android studi磁盘空间不足 安卓 磁盘占用分析_sed_06


android studi磁盘空间不足 安卓 磁盘占用分析_日志打印_07

  1. 文件中查找 ‘仅仅’ 的句子 grep ‘类容’ 文件
  2. 忽略大小写查找 grep -i ‘类容’ 文件

MV 命令重命名,移动 rm 删除

android studi磁盘空间不足 安卓 磁盘占用分析_android studi磁盘空间不足_08

android studi磁盘空间不足 安卓 磁盘占用分析_sed_09

查看日志文件

  1. cat cat data-index.log | grep “train” 这里还可以过滤
  2. vi /‘关键字’ 或者 vi ?‘关键字’ 查找 然后使用 N n 继续查找