记录一下docker踩坑 /dev/shm目录

/dev/shm 是Linux系统中的一个特殊目录,用于作为临时文件存储的一种形式,它将数据存储在RAM(随机存取存储器)中,而不是在磁盘上。这意味着在/dev/shm中存储的数据访问速度非常快,但数据在系统重启后不会被保留。/dev/shm是POSIX共享内存(POSIX Shared Memory)的一部分,它允许不同的进程(程序)创建和访问共享的内存空间,这对于需要高速数据交换的应用程序非常有用。

在技术上讲,/dev/shm是一个临时文件系统(通常是tmpfs文件系统),它可以被挂载和使用,就像磁盘上的文件系统一样,但实际上它完全位于内存中。因此,它非常适合需要临时存储大量数据的应用场景,比如数据库、科学计算应用程序或任何需要快速文件I/O操作的程序。

使用/dev/shm的优点包括:

  1. 高速访问:由于数据存储在RAM中,因此访问速度远远超过硬盘驱动器(HDD)或固态驱动器(SSD)。
  2. 减少磁盘I/O:对于频繁读写的临时数据,使用内存可以减少磁盘I/O操作,从而提高系统性能和响应速度。
  3. 易于使用:使用/dev/shm就像使用任何其他文件系统一样简单,不需要特殊的API调用,这使得它对于各种应用程序都很容易使用。

需要注意的是,因为/dev/shm使用的是宝贵的系统RAM资源,所以在使用时要注意不要消耗过多的内存,避免影响到系统的其他部分。另外,由于存储在/dev/shm中的数据在重启后不会被保留,因此它只适用于那些不需要永久存储的数据。

/dev/shm提供了一种快速且高效的方式来处理临时数据,特别是对于性能敏感的应用程序来说,它是一个非常有用的资源。

df -h 可以查看目录分配大小。

dockers踩坑:
容器启动时可以通过参数设置 /dev/shm目录大小 --shm-size 1g

参考:https://www.jianshu.com/p/0dc2dae0fa46

posted @ 2024-05-06 15:39  xxxxxxxxxxjh  阅读(931)  评论(0)    收藏  举报