注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

Linux内存虚拟盘  

2016-07-11 08:20:22|  分类: 服务器 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录。可以通过df 命令查看结果。/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。象虚拟磁盘一样,tmpfs 可以使用RAM,也可以使用交换分区来存储。
tmpfs有以下优势:
1)动态文件系统的大小,/dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有 100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的。
2)tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。 
3)tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。 
那么我们可以利用这个内存虚拟盘做些什么呢?要知道,Oracle 11g的amm内存管理模式就是使用/dev/shm,所以要加速一些特别的应用,例如squid的缓冲,dns的缓冲文件,网页的静态页面等就有必要用到它了。
当然,系统默认的大小肯定要根据您的需求来调整,但请注意重新设置内存盘后为了使用下次启用生效必须写到fstab文件中,一般linux是保存在/etc/fstab中。
调整内存虚拟盘大小的命令是:

#mount -o size=3G -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm

将最大容量调到3G【针对目前大部分的服务器8G内存】,并且inode数量调到1000000,这意味着大致可存入最多一百万个小文件。注意:size的大小可以的单位是M\K\G,您可能需要根据您服务器的情况具体调整。
然后就可以开始使用它来提高您的网站的性能,您可以在该内存虚拟盘上建立目录,然后符号链接到相应的目录【比如缓存目录,静态页面生成目录等】。因为全是在内存中读取的原因,这个速度是非常之快的,对网站的速度肯定有很大的提升。
当然啦,如果您觉得使用LINUX系统自带的内存虚拟盘不爽,也可以自行创建目录,并以tmpfs文件格式加载即可。如以下例子:

mkdir /var/www/html/thumb

mount -t tmpfs -o size=3G,mode=0755 tmpfs /var/www/html/thumb

同样的,如果下次启用生效也必须写到fstab文件中。在有了这个技术之后,再加上之前的《利用phpThumb+Nginx实时生成任意尺寸的缩略图》,相信可以让您网站缩略图访问的速度开始起飞。
  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017