查看 linux 系统中的基本信息,磁盘空间满了怎么办, 占用空间大小排序

1. 查看系统基本信息

#(Linux查看版本当前操作系统内核信息)
[root@bi ~]# uname -a
Linux bi.life.cib 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

# (Linux查看当前操作系统版本信息)
[root@bi ~]# cat /proc/version
Linux version 3.10.0-1062.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019

# (Linux查看版本当前操作系统发行版信息)
[root@bi ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)

2. 查看linux CPU信息


# 查看物理CPU个数
[root@mysql ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
4

# 查看每个CPU的core数(即核数)
[root@mysql ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores	: 4

# 查看逻辑CPU的个数
[root@mysql ~]# cat /proc/cpuinfo| grep "processor"| wc -l
16

# 查看CPU的型号
[root@mysql ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
     16  Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz

3. 查看磁盘空间

du -h * | sort -n
du -h * | sort -n|head
du -h * | sort -rh   // 查看当前目录下所有文件的大小,并按从大到小的顺序排序
du -h * | sort -rh | head -20 // 查看当前目录下前20个最大的文件

4. 统计代码文件数和行数

# 统计 ktr文件数
find . -name "*.ktr" |wc -l
# 统计ktr文件的代码行行数
find . -name "*.ktr" | xargs cat | grep -v ^$ | wc -l 

5. 磁盘满了怎么办

先确认是哪里占用空间比较大,针对性的解决。使用 3 中的命令,发现哪里的文件占用比较多。

5.1 docker 日志占用空间比较大解决:

首先应该是 docker-compose.yml文件中未限制日志大小,

  • 治标的解决方案:
    使用以下脚本清理日志
#!/bin/sh

echo "======== start clean docker containers logs ========"

logs=$(find /var/lib/docker/containers/ -name *-json.log)

for log in $logs
        do
                echo "clean logs : $log"
                cat /dev/null > $log
        done

echo "======== end clean docker containers logs ========"
  • 治本的解决方案:
    在docker-compose.yml中限制日志的大小
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "1"

最终的结果

version: '3'
# 本启动脚本用于开发环境启动。
services:
  doc_parser:
    build: .
    image: image:v2
    container_name: doc_parser
    restart: always
    environment:
      - TZ=Asia/Shanghai
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "1"
    volumes:
      # - ./src:/opt/apps/src
      - ./error.log:/opt/apps/error.log
      - ./info.log:/opt/apps/info.log

    # 在生产环境要禁用 断言,所以要使用 python -O这样的启动方式
    # command: python -O /opt/apps/src/main.py
    command: python -O -m uvicorn --host 0.0.0.0 --port 8800 --workers 4 src.apps.main:app --access-log --use-colors
    ports:
      - 8800:8800

  kitty:
    build:
      context: ./kitty # 在这个目录中查找 Dockerfile,用于 build 镜像
      dockerfile: Dockerfile # 在context中的 Dockerfile 文件名, 若不指定此行,则默认为 Dockerfile
    image: image:v1
    container_name: kitty
    # restart: always
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "1"
    environment:
      - TZ=Asia/Shanghai
      - DEBUG=true
    volumes:
      - ./kitty/config.yml:/opt/apps/config.yml
      - ./kitty/logs:/opt/apps/logs
    # 在生产环境要禁用 断言,所以要使用 python -O 这样的启动方式
    # command: python read_env_to_config.py && ./kitty
    command: ./kitty
    ports:
      - 9111:9111

  redis:
    image: redis:7.0
    container_name: kitty_redis
    # privileged: true
    # restart: always
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "1"
    ports:
      - 6379:6379
    environment:
      - TZ=Asia/Shanghai
    volumes:
      #- ./redis.log:/var/log/redis/redis.log:rw
      - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
      - ./redis/data:/data
    command: redis-server /usr/local/etc/redis/redis.conf

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值