Linux 查看内存和磁盘使用情况

news/2024/12/22 19:51:50/

目录

1. 查看内存情况

2. 查看磁盘情况

3. 查看文件或目录的磁盘空间使用情况

4. *典型场景

4.1. 前言

4.2. 场景

4.3. 原因

4.4. 措施

4.5. 参考


1. 查看内存情况

使用以下命令来查看系统内存大小:

> free -htotal        used        free      shared  buff/cache   available
Mem:            15G         11G        244M        1.8G        3.6G        1.7G
Swap:            0B          0B          0B

这个命令的输出显示了系统的总内存(Total),已使用的内存(used)和可用的内存(available)。`-h`表示以人类可读的方式(即以K,M,G为单位)输出结果。

2. 查看磁盘情况

关于磁盘空间,您可以使用 `df` 命令来查看每个磁盘分区的空间使用情况:

> df -h
Filesystem      Size  Used Avail Use% Mounted on
none            2.0G  4.0K  2.0G   1% /mnt/wsl
none            233G  157G   76G  68% /usr/lib/wsl/drivers
/dev/sdb       1007G   20G  936G   3% /
none            2.0G   76K  2.0G   1% /mnt/wslg
none            2.0G     0  2.0G   0% /usr/lib/wsl/lib
rootfs          2.0G  2.1M  2.0G   1% /init
none            2.0G     0  2.0G   0% /dev
none            2.0G     0  2.0G   0% /run
none            2.0G     0  2.0G   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            2.0G     0  2.0G   0% /run/user
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
none            2.0G   76K  2.0G   1% /mnt/wslg/versions.txt
none            2.0G   76K  2.0G   1% /mnt/wslg/doc
drvfs           233G  157G   76G  68% /mnt/c
drvfs           122G   59G   63G  49% /mnt/d
drvfs           121G   84G   38G  70% /mnt/e

这个命令的输出显示了每个分区的总空间(size),已使用的空间(used)和可用的空间(avail)。`-h`同样表示以人类可读的方式输出结果。

3. 查看文件或目录的磁盘空间使用情况

# 查看当前目录的空间使用情况
> du -sh .
# 查看当前目录中所有子目录的空间使用情况
> du -sh *
  • -h:以人类可读的格式(如 K, M, G)显示文件大小。
  • -s:只显示总计,而不显示每个子目录的大小。
  • -d:指定目录的深度。例如 -d 0 只显示总计, -d 1 显示顶层目录和总计。

4. *典型场景

4.1. 前言

        在使用Docker启动应用的场景中,有些应用,比如数据库等,在运行过程中(尤其是大量数据插入的情况下)需要足够的内存和磁盘。当你需要在宿主机上运行这样一个应用容器,需要使用上述命令查看内存、磁盘情况,并按需设置。

4.2. 场景

        启动一个mongo应用容器,在运行大批量数据导入过程中,这个容器突然crash了,日志也没有明显的错误,是戛然而止。

4.3. 原因

        日志没有显示明显的错误,而且突然中断,那很有可能是由于系统资源耗尽,比如内存不足导致的。容器启动后,在运行时(尤其是大量读写,例如上面提到的数据库等应用),内存会随着处理高峰而增长。但是宿主机的内存是有限的,在Linux系统中,当系统内存不足时,内核会触发一个叫做OOM Killer(Out of Memory Killer)的机制,自动结束一些进程来释放内存。这通常是最后的手段来防止系统完全无响应。你可以通过查看系统日志来确认这一点,最常用的命令是 dmesg。运行 dmesg 命令后,查看输出信息中是否有OOM相关的信息。比如:

> dmesg | grep -i 'oom'

这个命令会搜索dmesg输出中所有包含"oom"(不区分大小写)的行,如果你看到像"Out of memory: Kill process 12345 (mongo)"这样的信息,那就说明是OOM Killer杀掉了你的进程。

4.4. 措施

        在宿主机上使用Docker启动应用容器时,先使用上述的1/2章节命令,然后再设定容器的内存使用,如下:

# 在启动时设置容器的内存上限为3g
docker run --memory=3g --name ${your_app_name} ...

4.5. 参考

ChatGPT


http://www.ppmy.cn/news/1360360.html

相关文章

Android 开发一个耳返程序(录音,实时播放)

本文目录 点击直达 Android 开发一个耳返程序程序编写1. 配置 AndroidManifast.xml2.编写耳返管理器3. 录音权限申请4. 使用注意 最后我还有一句话要说怕相思,已相思,轮到相思没处辞,眉间露一丝 Android 开发一个耳返程序 耳返程序是声音录入…

Linux第64步_编译移植好的虚拟机文件

最好还是认真了解linux系统移植的整个过程,否则,可能会让你误入歧途。 1、编译移植好的tf-a 1)、编译生成“tf-a-stm32mp157d-atk-trusted.stm32” 输入“cd /home/zgq/linux/atk-mp1/tfa/my-tfa/tf-a-stm32mp-2.2.r1/回车”,切换到“/hom…

Three.js加载PLY文件

这是官方的例子 three.js webgl - PLY 我在Vue3中使用&#xff0c;测试了好久始终不显示点云数据。在网上查询后发现ply文件要放置在public目录下才行 <el-row><el-button type"primary" class"el-btn" click"IniThree1">PLY</…

Mybatis总结二

重复的类我们用工具把它包装起来&#xff1a; public class MybatisUtils {private static SqlSessionFactory factory null;static{String config "mybatis.xml";try {InputStream in Resources.getResourceAsStream(config);factory new SqlSessionFactoryBui…

线性代数:向量、张量、矩阵和标量

线性代数&#xff1a;向量、张量、矩阵和标量 背景 在线性代数中&#xff0c;向量、张量、矩阵和标量都属于基础概念&#xff0c;特别是最近AI的爆火&#xff0c;向量和张量的概念也越来越普及&#xff0c;本文将介绍下这些基本概念。 1. 标量&#xff08;Scalar&#xff0…

【JavaScript】JSONP

文章目录 1. 同源策略和跨域请求2. JSONP的原理3. JSONP的使用步骤3.1 预定义回调函数3.2 动态创建script标签3.3 服务端返回数据 4. 注意事项5. 总结 在 Web 开发中&#xff0c;由于浏览器的同源策略&#xff0c;跨域请求数据成为一个常见的挑战。JSONP&#xff08;JSON with …

华为配置WDS手拉手业务示例

配置WDS手拉手业务示例 组网图形 图1 配置WDS手拉手业务示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 企业用户通过WLAN接入网络&#xff0c;以满足移动办公的最基本需求。但企业考虑到AP通过有线部署的成本较高&#xff0c;所以通过建立…

Ps:原色通道直方图(RGB)

在 RGB 颜色模式下&#xff0c;Photoshop 的“通道”面板中有红、绿、蓝三个原色通道。 默认情况下&#xff0c;原色通道以灰度图像的形式呈现&#xff0c;分别记录着各原色色光发光的程度。 比如&#xff0c;在 8 位/通道时&#xff0c;某个像素的 RGB 值为 &#xff08;43,12…