㈠ linux里tmpfs文件系统全称是啥
Tmpfs
tmpfs is a common name for a temporary file storage facility on many Unix-like operating systems. It is intended to appear as a mounted file system, but stored in volatile memory instead of a persistent storage device.
是一个虚拟内存文件系统,它不同于传统的用块设备形式来实现的Ramdisk,也不同于针对物理内存的Ramfs。Tmpfs可以使用物理内存,也可以使用交换分区。
在Linux内核中,虚拟内存资源由物理内存(RAM)和交换分区组成,这些资源是由内核中的虚拟内存子系统来负责分配和管理。
Tmpfs向虚拟内存子系统请求页来存储文件,它同Linux的其它请求页的部分一样,不知道分配给自己的页是在内存中还是在交换分区中。同Ramfs一样,其大小也不是固定的,而是随着所需要的空间而动态的增减。
使用tmpfs,首先你编译内核时得选择”虚拟内存文件系统支持(Virtual memory filesystem support)”。
然后就可以加载tmpfs文件系统了
# mkdir -p /mnt/tmpfs
# mount tmpfs /mnt/tmpfs -t tmpfs
同样可以在加载时指定tmpfs文件系统大小的最大限制
# mount tmpfs /mnt/tmpfs -t tmpfs -o size=32m
㈡ 关于linux tmpfs问题
tmpfs 在内存里,影响就是首先这个挂载点目录不能写入。其次就是会占用对应容量的内存。
一般 tmpfs 都是用于大量读写小文件的临时目录,web 服务器在这里似乎用的不多,但也存了一些数据在这里。慢了可能会导致 web 服务器运行某些动态网站代码出问题。
tmpfs 是在使用时才会占用内存,如果 tmpfs 空着,是不占用内存的。
内存不需要进行清理,内核会自动控制。你这个 echo 对应的是清空 cache ,缓存数据是可以提高 IO 性能的。没必要这么操作。
㈢ Linux文件系统目录结构解析
下载一个程序源代码,编译并且安装的时候,如果不特别指定安装的程序路径,那么默认会将程序相关的文件安装到这个目录的对应目录下。例如,安装的程序可执行文件被安装(安装实质就是复制到了/usr/local/bin下面,此程序(可执行文件所需要依赖的库文件被安装到了/usr/local/lib目录下,被安装的软件如果是某个开发库(例如Qt,Gtk等那么相应的头文件可能就被安装到了/usr/local/include中等等。也就是说,这个目录存放的内容,一般都是我们后来自己安装的软件的默认路径,如果择了这个默认路径作为软件的安装路径,被安装的软件的所文件都限制在这个目录中,其中的子目录就相应于根目录的子目录。
/proc特殊文件目录:
这是一个特殊的目录,它同样是一个虚拟文件系统。通过这个目录下的各个文件,可以查看系统的内核信息。
/opt保留的文件目录:
一些自定义软件包或者第三方工具,就可以安装在这里。
/mnt文件系统或设备的通用挂载点:
这个目录一般是用于存放挂载储存设备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘设备的时候,可以把磁盘设备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问那个磁盘了。可以在/mnt目录下面多建立几个子目录,挂载的时候挂载到这些子目录上面,也可以在任意位置设置挂在点,但是不建议这么做。
/media挂载的媒体设备目录:
挂载的媒体设备目录,一般可移动设备挂载到这里,例如cdrom,loppy和cdrecord等。
/var内容经常变化的目录:
此目录下文件的大小可能会改变,如缓冲文件,日志文件,缓存文件,等一般都存放在这里。
/tmp临时文件目录:
该目录存放系统中的一些临时文件,文件可能会被系统自动清空。的系统直接把tmpfs类型的文件系统挂载到这个目录上,tmpfs文件系统由linux内核支持,在这个文件系统中的数据,实际上是内存中的,由于内存的数据断电易失,当系统重新启动的时候我们就会发现这个目录被清空了。
/lost+found恢复文件存放的位置:
当系统崩溃的时候,在系统修复过程中需要恢复的文件,可能就会在这里被找到了,这个目录一般为空。
以上目录,是最常见的重要目录。其中,有些目录初学者容易混淆,这里简单区分一下:
/bin,/sbin与/usr/bin,/usr/sbin:
/bin一般存放对于用户和系统来说“必须”的程序(二进制文件)。
/sbin一般存放用于系统管理的“必需”的程序(二进制文件,一般普通用户不会使用,根用户使用)。
/usr/bin一般存放的只是对用户和系统来说“不是必需的”程序(二进制文件)。
/usr/sbin一般存放用于系统管理的系统管理的不是必需的程序(二进制文件)。
/lib与/usr/lib:
/lib和/usr/lib的区别类似/bin,/sbin与/usr/bin,/usr/sbin。
/lib一般存放对于用户和系统来说“必须”的库(二进制文件)。
/usr/lib一般存放的只是对用户和系统来说“不是必需的”库(二进制文件)。
㈣ linux下的tmpfs和devtmpfs分别是什么啊
tmpfs是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储。而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。
㈤ proc,sysfs,tmpfs,devpts都说什么文件系统
proc是进程和系统文件系统
tmpfs是临时文件系统,一种基于内存的文件系统
devpts远程虚拟终端文件设备,文件夹里面一般是一些字符设备文件
sysfs 基于内存的文件系统,将内核信息以文件方式提供给用户使用
㈥ 如何在RHEL/CentOS 7.0中使用tmpfs
今天我们来谈谈 CentOS 7 中的一个文件系统tmpfs,这是一个将所有文件和文件夹写到虚拟内存中而不是实际写到磁盘中的虚拟文件系统。这意味中tmpfs中所有的内容都是临时的,在tmpfs卸载、系统重启或者电源切断后内容都将会丢失。技术的角度上来说,tmpfs将所有的内容放在内核内部缓存中并且会调整大小来容纳文件,并可从交换空间中交换出不需要的页。
CentOS默认使用tmpfs做的几种用途可用df -h命令的输出来看:
# df –h
/dev - 含有针对所有设备的设备文件的目录
/dev/shm - 包含共享内存分配
/run - 用于系统日志
/sys/fs/cgroup - 用于cgrpups, 一个针对特定进程限制、管制和审计资源利用的内核特性
显然,它也可以用作/tmp目录, 你可以用下面的两种方法来做到:
使用systemctl来在/tmp中启用tmpfs
你可以使用systemctl命令在tmp目录启用tmpfs, 首先用下面的命令来检查这个特性是否可用:
# systemctl is-enabled tmp.mount
这会显示当先的状态,(如果未启用,)你可以使用下面的命令来启用它:
# systemctl enable tmp.mount
这会让系统控制/tmp目录并在该目录下挂载一个tmpfs文件系统。
手动挂载/tmp文件系统
你可以在/etc/fstab中添加下面这行,来手工在/tmp下挂载 tmpfs。
tmpfs /tmp tmpfs size=512m00
接着运行这条命令
# mount –a
这应该就会在df -h中显示tmpfs了,同样也会在你下次重启时自动挂载。
立即创建tmpfs
如果由于一些原因,你需要在一个文件夹下立即创建tmpfs,你可以使用下面的命令:
# mount -t tmpfs -o size=1G tmpfs /mnt/mytmpfs
㈦ 如何巧用tmpfs加速你的linux服务器
使用tmpfs,我把他消化后用来实现虚拟磁盘来存放squid的缓存文件和php的seesion。速度快不少哦!
默认系统就会加载 /dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
tmpfs有以下优势:
1。动态文件系统的大小,
2。tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。
3。tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。
好了讲了一些大道理,大家看的烦了吧,还是讲讲我的应用吧:)
首先在/dev/stm建个tmp文件夹,然后与实际/tmp绑定
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
1。squid的缓存目录设置
vi /etc/squid/squid.conf
修改成
cache_dir ufs /tmp 256 16 256
这里的第一个256表示使用256M内存,在该目录下使用的缓冲值为256MB,允许在“/tmp”下创建的第一级子目录数为16,每个第一级子目录下可以创建的第二级子目录数量为256
然后重启一下服务,ok,现在所有的squid缓存文件都保存倒tmpfs文件系统里了,很快哦。
2。对php性能的优化
对于一个访问量大的以apache+php的网站,可能tmp下的临时文件都会很多,比如seesion或者一些缓存文件,那么你可以把它保存到tmpfs文件。
保存seesion的方法很简单了只要修改php.ini就行了,由于我已经把/dev/stm/tmp与/tmp绑定,所以不改写也行,至于php程序产生的缓存文件那只能改自己的php程序了:)
希望我的这个方法,能对你有所启发。
㈧ linux系统tmpfs怎样增加,dev/shm空间
一、/dev/shm理论
默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录。可以通过df 命令查看结果.
/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果。默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
tmpfs有以下优势:
1。动态文件系统的大小,/dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有 100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的
2。tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。
3。tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。
二、修改/dev/shm大小
默认的最大一半内存大小在某些场合可能不够用,并且默认的inode数量很低一般都要调高些,这时可以用mount命令来管理它。
#mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm
在2G的机器上,将最大容量调到1.5G,并且inode数量调到1000000,这意味着大致可存入最多一百万个小文件。
如果需要永久修改/dev/shm的值,需要修改/etc/fstab
复制代码
代码如下:
tmpfs /dev/shm tmpfs defaults,size=1.5G 0 0
mount -o remount /dev/shm
三、/dev/shm应用
首先在/dev/shm建个tmp文件夹,然后与实际/tmp绑定
复制代码
代码如下:
#mkdir /dev/shm/tmp
#chmod 1777 /dev/shm/tmp
#mount –bind /dev/shm/tmp /tmp(–bind )
在使用mount –bind olderdir newerdir命令来挂载一个目录到另一个目录后,newerdir的权限和所有者等所有信息会发生变化。挂载后的目录继承了被挂载目录的所有属性,除了名称。
㈨ Linux临时文件系统tmpfs会占用根目录空间么
tmpfs一般使用内存,或者swap分区,所以和根目录肯定是不同的分区,不会占用根目录空间。
㈩ Linux内存文件系统tmpfs(/dev/shm)详细介绍
一、/dev/shm理论
默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录。可以通过df
命令查看结果.
/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果。默认系统就会加载/dev/shm
,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs
可以使用您的
RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个
mkfs
之类的命令才能真正地使用它,tmpfs
是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
tmpfs有以下优势:
1。动态文件系统的大小,/dev
/shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df
-h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有
100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的
2。tmpfs
的另一个主要的好处是它闪电般的速度。因为典型的
tmpfs
文件系统会完全驻留在
RAM
中,读写几乎可以是瞬间的。
3。tmpfs
数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。
二、修改/dev/shm大小
默认的最大一半内存大小在某些场合可能不够用,并且默认的inode数量很低一般都要调高些,这时可以用mount命令来管理它。
#mount
-o
size=1500M
-o
nr_inodes=1000000
-o
noatime,nodiratime
-o
remount
/dev/shm
在2G的机器上,将最大容量调到1.5G,并且inode数量调到1000000,这意味着大致可存入最多一百万个小文件。
如果需要永久修改/dev/shm的值,需要修改/etc/fstab
代码如下:
tmpfs
/dev/shm
tmpfs
defaults,size=1.5G
0
0
mount
-o
remount
/dev/shm
三、/dev/shm应用
首先在/dev/shm建个tmp文件夹,然后与实际/tmp绑定
代码如下:
#mkdir
/dev/shm/tmp
#chmod
1777
/dev/shm/tmp
#mount
–bind
/dev/shm/tmp
/tmp(–bind
)
在使用mount
–bind
olderdir
newerdir命令来挂载一个目录到另一个目录后,newerdir的权限和所有者等所有信息会发生变化。挂载后的目录继承了被挂载目录的所有属性,除了名称。