内存盘

Posted 红孩儿你好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存盘相关的知识,希望对你有一定的参考价值。

一、简介

大多数的Linux发行版本中,内存盘默认使用的是/dev/shm 路径,文件系统类型为tmpfs,默认大小是内存实际的大小,操作这个路径就是对内存的操作。

 

tmpfs是一种虚拟内存文件系统,特点是的存储空间在VM(virtual memory)中。linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由你自己决定的。Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,我们为什么需要Swap呢?当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从Swap交换到RM里面。如果你有足够大的物理内存,根本不需要划分Swap分区。

缺点:数据在VM中,断电或卸载后,数据就会立即丢失 
优点:tmpfs使用的是VM,因此比硬盘的速度要快,可用来提升机器性能。

 

二、创建/删除内存盘

#创建
mkdir /dev/ramdisk
mount -t tmpfs -o size=3G,mode=0755 tmpfs /dev/ramdisk

#查看
mount -l | grep ramdisk
df

#删除
umount -v tmpfs

#重设系统内存盘
mount -o remount,size=3G /dev/shm

 

三、实用脚本

 

以上是关于内存盘的主要内容,如果未能解决你的问题,请参考以下文章

java内存流:java.io.ByteArrayInputStreamjava.io.ByteArrayOutputStreamjava.io.CharArrayReaderjava.io(代码片段

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

避免android片段中内存泄漏的最佳方法是啥

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

FragmentStatePagerAdapter 内存泄漏(带有 viewpager 的嵌套片段)