用linux服务器下的/dev/shm/来释放磁盘的压力

巧用linux服务器下的/dev/shm/来释放磁盘的压力

  • 浏览:646
  • |
  • 更新:2013-06-18 18:08
  • |
  • 标签: 磁盘

tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势 : 1. 动态文件系统的大小。2. tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的。同时它也有一个缺点  tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

工具/原料

  • Linux 服务器系统

方法/步骤

  1. 1

    /dev/shm/是一个设备文件,它使用就是tmpfs文件系统(注意:在Centos和Redhat下,/dev/shm目录是一个链接,指向/run/shm目录,在Ubuntu系统下tmpfs文件系统对应的是/run/shm目录,可以使用df命令查看),因为 /dev/shm/这个目录不在硬盘上,而是在内存里,它就所谓的tmpfs。在Redhat/CentOS等linux发行版中默认大小为物理内存的一半。 比如我的的Red Hat Enterprise Linux Server 5.4 64(单核,512内存)分配内存为512M,所以/dev/shm为250M左右,查看/dev/shm如下:

    [[email protected] ~]# df -h

    Filesystem            Size  Used Avail Use% Mounted on

    /dev/hda1              20G  7.6G   11G  42% /

    tmpfs                 250M     0  250M   0% /dev/shm

  2. 2

    tmpfs是基于内存的文件系统,创建时不需要使用mkfs等初始化。如我想把/dev/shm tmpfs大小改为512M,修改/etc/fstab中的

    tmpfs                   /dev/shm                tmpfs   defaults        0 0

    改为

    tmpfs                  /dev/shm               tmpfs,defaults,size=512m        0 0

  3. 3

    然后执行mount -o remount /dev/shm

    [[email protected] ]# mount -o remount /dev/shm

    [[email protected] ]# df -h

    Filesystem            Size  Used Avail Use% Mounted on

    /dev/hda1              20G  7.6G   11G  42% /

    tmpfs                 512M     0  512M   0% /dev/shm

  4. 4

    tmpfs(/dev/shm)的使用及应用场景:

    tmpfs是基于内存的,速度是不用说的,硬盘和它没法比。Oracle 中的Automatic Memory Management特性就使用了/dev/shm。另外如果在网站运维中好好利用tmpfs,将有意想不到的收获。我们先在/dev/shm建一个tmp目前,并与/tmp绑定。

    [[email protected] ~]# mkdir  /dev/shm/tmp

    [[email protected] ~]# chmod  1777  /dev/shm/tmp         //注意权限

    [[email protected] ~]# mount --bind  /dev/shm/tmp  /tmp

    [[email protected] ~]# ls -ld /tmp

    drwxrwxrwt 2 root root 40 May 29 21:46 /tmp

    以下/tmp使用tmpfs文件系统的一些应用示例,一般tmpfs内存文件系统在做web缓存,临时文件存储时会对web访问有很好的加速作用,从而提高网站访问的速度。

  5. 5

    将php的session文件放在/tmp下

    对于一个访问量大的以apache php的网站,可能tmp下的临时文件都会很多,比如seesion或者一些缓存文件,那么你可以把它保存到tmpfs文件。保存seesion的方法很简单了:只要修改php.ini就行了,通过phpinfo测试文件查看你的php session存储位置,如果不在/tmp下,修改php.ini文件,修改如下: session.save_path = “/tmp”

  6. 6

    将服务的socket文件放在/tmp下

    如nginx.socket和mysql.sock

    至于tmpfs的其他应用,我想大家可能通过这篇文章会有所启发。再次强调下:tmpfs 数据在重新启动之后不会保留,重启tmpfs 数据会丢失,所以有必要做一些脚本做诸如加载,绑定的操作!

用linux服务器下的/dev/shm/来释放磁盘的压力,布布扣,bubuko.com

时间: 2024-12-25 20:34:56

用linux服务器下的/dev/shm/来释放磁盘的压力的相关文章

巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力!

一.什么是tmpfs和/dev/shm/? tmpfs是Linux/Unix系统上的一种基于内存的文件系统.tmpfs可以使用您的内存或swap分区来存储文件.由此可见,tmpfs主要存储暂存的文件.它有如下2个优势: 1)动态文件系统的大小. 2)tmpfs 的另一个主要的好处是它闪电般的速度.因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的. 同时它也有一个缺点 tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的.所以有必要做一些脚本做诸如

linux服务器下配置多tomcat

车辆交易用的系统模块,正在做.老板要看看,以便车城那边的人提出意见.于是在服务器上再次增加一个tomcat. 以前是配置过的,配置过程其实很简单,这次太大意了,找了半天问题. 首先是拷贝一个tomcat,放到一个新的位置,这个tomcat就是我要用的新的tomcat. 然后去配置一下日志的输出位置,在bin目录下的catalia.sh或者startup.sh.网上怎么样配置的都有,呵呵. 然后修改server.xml,配置好虚拟目录和端口信息.在此,connector节点下的protocol一定

Linux服务器下没有root权限装Matlab R2013a

Matlab R2013a Unix版下载地址 注意:由于我是在单位的集群系统上装Matlab,没有root权限,故下载下来的.iso文件不能在linux下用mount命令挂载,故先在Win下解压,再将解压后的文件上传至服务器. 由于没有root权限,所有需要安装的内容都装在自己的家目录下. 另外,如果你也是在高性能计算集群上装,最好在登陆节点上装,因为我开始是在计算节点上装总是报错 - -# 平台:系统内核:x86_64.操作系统:CentOS release 6.3 (Final) ====

在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)

1.需求:近期在提取linux服务器下的日志文件时总是需要人工去找某个时间段内的日志文件,很是枯燥乏味,于是乎,我就想着用python结合linux指令来写一个日志提取的脚本,于是就有了以下脚本文件: 2.代码:getlogzip.py 1 import time,sys,os 2 3 filename1 = time.strftime('%m%d',time.localtime(time.time())) 4 filename2 = "log" 5 servername = inpu

linux下的/dev/shm/ 以及与swap目录的区别

摘自:http://miaozk2006.blog.163.com/blog/static/3824705820111028183996/ 一./dev/shm/介绍: /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里.因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果. /dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到.但它并不会真正

linux下的/dev/shm[转]

/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里.因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果./dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到.但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节:如果它最大为1G,里头放有 100M文件,那剩余的900M仍然可为其它应用程序所使用,但

linux下的/dev/shm/及对Oracle 的影响

一./dev/shm/介绍: /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里.因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果. /dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到.但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节:如果它最大为1G,里头放有 100M文件,那剩余的900

linux下修改/dev/shm tmpfs文件系统大小

转自:http://loofeer.blog.51cto.com/707932/791065 默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样.象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储.而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备:您只是安装它,它就可以使用了. tmpfs有以下优势: 1.动态文件系统的大小. 2.tmpf

持续集成:采用Xvfb+Selenium+Firefox搭建linux服务器下的自动化测试环境

自动化测试属于软件测试的一部分,QTP.LoadRunner等都可以编写自动化测试脚本,但是QTP.LoadRunner等工具毕竟还需要人工操作,在持续集成思想下,软件应该自动发布并且自动测试,这样可以加快软件的开发测试周期,及时发现软件错误.持续集成应该包括代码的自动化检查.版本的自动化发布.以及程序的自动化测试.在自动化测试之外,再辅助以人工测试. 在我负责的项目中,代码自动化检查采用了SVN+CheckStyle实现,前文已有介绍,版本自动化发布采用了Jenkins或者crontab+An