
熟练使用Linux服务器的/dev/shm/,合理使用可以避免磁盘IO不良,提高网站访问速度。
首先让我们知道,什么是 tmpfs 和 /dev/shm/?
tmpfs 是 Linux/Unix 系统上基于内存的文件系统。tmpfs 可以使用您的内存或交换分区来存储文件。可以看出tmpfs主要存放临时文件。它有以下 2 个优点: 1. 动态文件系统大小。2. tmpfs 的另一个主要优点是其闪电般的速度。因为典型的 tmpfs 文件系统将完全驻留在内存 RAM 中缓存服务器用什么硬盘好,所以读取和写入几乎是瞬时的。它还有一个缺点,即 tmpfs 数据在重新启动后不会保留,因为虚拟内存本质上是易失性的。所以需要做一些脚本操作,比如加载和绑定。
tmpfs不持久化,重启后数据不保留,请注意!!!
/dev/shm/是设备文件缓存服务器用什么硬盘好,使用的是tmpfs文件系统(注意:下面和下面,/dev/shm目录是一个链接,指向/run/shm目录,系统下的tmpfs文件系统对应/run /shm目录,可以使用df命令查看),因为/dev/shm/目录不在硬盘上,而是在内存中,叫做tmpfs。在 /etc linux 发行版中,默认大小是物理内存的一半。比如我的Red Hat Linux 5.4 64(单核,512内存)分配了512M的内存,所以/dev/shm大约是250M,查看/dev/shm如下:
[root@ ~]# df -h
有效使用百分比
/dev/.6G 11G42%/
tmpfs 250M 0250M 0% /dev/shm
tmpfs 是一个基于内存的文件系统,创建时不需要用 mkfs 和其他初始化进行初始化。如果我想把/dev/shm tmpfs的大小改成512M,修改/etc/fstab
tmpfs /dev/0
改成
tmpfs/dev/shm tmpfs,,size=512m0 0
所以修改前:
标签=/ / 1
tmpfs /dev/0
/dev/=5,模式=6200 0
系统文件/0
进程/进程 0
修改后:
标签=/ / 1
tmpfs/dev/shm tmpfs,,size=512m0 0
/dev/=5,模式=6200 0
系统文件/0
进程/进程 0
然后执行 mount -o /dev/shm
[root@]# mount -o /dev/shm
[root@]# df -h
有效使用百分比
/dev/.6G 11G42%/
tmpfs 512M 0512M 0% /dev/shm
怎么样,变成512M,用起来很方便,重启也没问题,哈哈。当然,在生产环境中,可以增加内存。反正现在内存很便宜。为了提高性能,需要增加/dev/shm。
tmpfs(/dev/shm)的使用和应用场景
tmpfs是基于内存的,速度不用说,硬盘也比不上。使用 /dev/shm 中的功能。另外,如果在网站运维中善用tmpfs,会有意想不到的收获。我们首先在 /dev/shm 中构建一个 tmp 并将其绑定到 /tmp。
[root@ ~]# mkdir/dev/shm/tmp
[root@ ~]# chmod 1777 /dev/shm/tmp //注意权限
[root@ ~]# mount --bind/dev/shm/tmp/tmp
[root@ ~]# ls -ld /tmp
2根根 40 May 29 21:46 /tmp
以下是使用 tmpfs 文件系统的 /tmp 的一些应用示例。一般网页缓存使用tmpfs内存文件系统,临时文件存储对网页访问会有很好的加速效果,从而提高网站访问速度。
1. 将squid的缓存目录放在/tmp下
vi /etc/squid/squid.conf 修改为 ufs /tmp 256 16 256
这里的第一个256是指使用256M的内存,重启squid服务,这样缓存目录就放到了tmpfs文件中,速度不用说了。
2. 将php文件放在/tmp下
对于一个访问量很大的php网站,tmp下可能有很多临时文件,比如一些缓存文件,那么可以保存到一个tmpfs文件中。保存的方法很简单:修改php.ini,通过测试文件查看你的php存放位置。如果不在/tmp下,修改php.ini文件如下:
.="/tmp"
3.将服务文件放在 /tmp 下
比如nginx。和 mysql.sock
至于 tmpfs 的其他应用,我想你可能会受到这篇文章的启发。再次强调一下:tmpfs数据重启后不会保留,tmpfs数据重启后会丢失,所以需要做一些加载、绑定等脚本操作!

MDSS未来未来呀 5天前0
测试MDSS未来未来呀 5天前0
测试