- 浏览: 267377 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
1260533105:
uncaught invalidstateerror:Fail ...
WebSocket -
sh747665463:
压力好大啊
【转】如果你不知道接下去学什么,就看这个
/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果。
/dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有 100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的,否则谁还敢往里头存文件呢?
默认的最大一半内存大小在某些场合可能不够用,并且默认的inode数量很低一般都要调高些,这时可以用mount命令来管理它。 mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm
在2G的机器上,将最大容量调到1.5G,并且inode数量调到1000000,这意味着大致可存入最多一百万个小文件。
为当/dev/shm空间不够时可以占用swap的空间,所以不用担心存储空间不够用。想想看,从磁盘IO操作到内存操作,php读写SESSION的速度会快多少?只是需要注意,存储在/dev/shm的数据,在服务器重启后会全部丢失。
默认系统就会加载/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(--bind )
在使用mount --bind olderdir newerdir命令来挂载一个目录到另一个目录后,newerdir的权限和所有者等所有信息会发生变化。挂载后的目录继承了被挂载目录的所有属性,除了名称。
巧用tmpfs加速你的linux服务器,就是使用虚拟磁盘来存放squid的缓存文件和php的seesion。速度快不少哦!
默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
tmpfs有以下优势:
1。动态文件系统的大小,
2。tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。
3。tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。
好了讲了一些大道理,大家看的烦了吧,还是讲讲我的应用吧:)
首先在/dev/shm建个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内存,我觉得http://www.linuxaid.com.cn/articles/4/4 /441672019.shtml里使用ramdisk的方法还不如直接使用tmpfs,至少每次启动不用mkfs,还可以动态改变大小。这时的/tmp 实际就是/dev/shm/tmp
然后重启一下服务,ok,现在所有的squid缓存文件都保存倒tmpfs文件系统里了,很快哦。
2. 对php性能的优化
对于一个访问量大的以apache+php的网站,可能tmp下的临时文件都会很多,比如seesion或者一些缓存文件,那么你可以把它保存到tmpfs文件。
保存seesion的方法很简单了只要修改php.ini就行了,由于我已经把/dev/stm/tmp与/tmp绑定,所以不改写也行,至于php程序产生的缓存文件那只能改自己的php程序了:)
至于tmpfs的其他应用,我想大家可能通过这篇文章会有所启发。
发表评论
-
转:Linux内核参数详解
2018-07-20 17:34 520https://blog.csdn.net/yueguan ... -
ipmitool
2018-07-17 17:53 760一、开关机,重启 1. ... -
awk 分组统计
2018-04-15 09:27 1344cat * |grep 'java.lang.ClassNot ... -
numa关闭
2016-10-20 09:54 1556zone_reclaim_mode参数为1,numa并没有关 ... -
shell单引号,双引号,反引号与反斜杠
2016-07-03 09:40 1218单引号:强调是什么就是什么不替换任何东西,会忽略任何引用值, ... -
shell 判断条件
2016-07-03 09:26 420前言: 无论什么编程语言都离不开条件判 ... -
转:linux 文件系统IO性能优化
2016-05-23 08:53 978对于LINUX SA来说,服 ... -
yum install 安装路径
2016-03-08 19:07 643一般是 /usr/local 一般一个软件是要复制多个文件 ... -
转:linux系统mysql安装后文件分布情况
2016-01-19 20:31 0MySQL安装完成后不象SQL Server默认安装在一个目 ... -
shell控制语句
2016-01-09 09:50 495linux shell有一套自己的流程控制语句,其中包括条件 ... -
shell for 循环
2016-01-09 09:40 0关于shell中的for循环用法很多,一直想总结一下,今天网 ... -
posrt 排序工具并行工作--快
2012-11-05 14:28 905一个文件n列,假设需要按照文件的第2列排序,第二列是in ... -
清理linux 系统缓存
2012-10-31 16:52 929echo 3 > /proc/sys/vm/drop_c ... -
关闭SELinux
2012-07-22 19:13 0关闭SELinux的方法: 修改/etc/seli ... -
实例详细说明linux下去除重复行命令uniq
2012-06-25 18:28 1321一、uniq干什么用的 linux下去除文本重复行的命令 ... -
grep+sed 全文件夹替换
2012-06-17 21:25 1345grep aaa -rl ./test |xargs s ... -
vim 查找替换
2012-06-04 16:58 896vi/vim 中可以使用 :s ... -
vi常用命令
2012-05-22 20:11 9011、复制多行,并粘贴 ... -
linux多文件替换关键字
2012-06-04 16:57 1046现在网上这样的方法只有两种,一种是Mahuinan法,一种是S ... -
TCP 参数
2012-01-16 15:25 2443net.ipv4.tcp_max_tw_buckets ...
相关推荐
tmpfs 是 Linux/Unix 系统上的一种基于内存的文件系统,即 tmpfs 使用内存或 swap 分区来存储文件。 Linux 内核中的 VM 子系统负责在后台管理虚拟内存资源 Virtual Memory,即 RAM 和 swap 资源,透明地将 RAM 页...
Linux磁盘扩容 df -h ...tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 8.5M 7.8G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/vda1 1014M 193M 822M 20% /boot tmpfs 1.6G 0 1.6G 0% /run/user/0
`/dev/shm`是一个临时文件系统,模拟了传统的内存共享,提供了一个在Linux系统中进行进程间通信(IPC)的快速途径。在Oracle数据库环境中,`/dev/shm`用于存储数据库的共享内存区域,以提高性能。 首先,理解Oracle...
/dev/shm目录不在磁盘上,而是在内存里,因此使用linux /dev/shm/的效率非常高,直接写进内存. 查看/dev/shm的大小 df -h 修改/dev/shm的大小,默认为内存的一半 vim /etc/fstab 末尾添加 tmps /dev/shm ...
一、目的 在使用CentOS6.3版本Linux系统的时候,发现根目录(/)的空间不是很充足,而其他目录空间有很大的空闲,所以本文主要是针对现在已有的空间进行调整。...tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 485M
如果 Linux 服务器只有一个分区,且估计 binlog 大小不超过内存容量的50%,则可将工具上传到 /dev/shm 目录。 /dev/shm是内存虚拟目录,写入数据在内存中不落盘,系统重启后/dev/shm 自动清空。 给执行权限 : ...
其他:由于Jenkins Workspace中的文件均为临时性文件,当磁盘负担较重时可以使用-v /dev/shm/jenkins:/var/jenkins_home/workspace:Z来使用内存进行加速 一个Docker Registry实例 docker run -d --name moocoder-...
tmpfs 764M 0 764M 0% /dev/shm /dev/sda1 485M 30M 430M 7% /boot ``` 从上面的输出结果可以看到,系统中有三个文件系统:/dev/mapper/VolGroup-lv_root、tmpfs 和 /dev/sda1。每个文件系统都显示了其总容量、已...
在Linux系统中,`/dev/shm`是一个特殊文件系统,称为临时文件系统或tmpfs,它被设计用于实现进程间的共享内存。共享内存是一种高效的数据通信方式,允许多个进程直接访问同一块内存区域,无需通过传统的I/O操作。...
/dev/shm 236M 0 236M 0% /dev/shm 从上面的输出结果中,我们可以看到系统安装在 /dev/hda8,另外还有一个 56G 的磁盘分区 /dev/sda1 挂载在 /mnt/sda1 中。 fdisk 命令是来自 util-linux 软件包,我们在这里只说...
/dev/shm 236M 0 236M 0% /dev/shm /dev/sda1 56G 22G 35G 39% /mnt/sda1 从上面的输出结果中,我们可以看到系统安装在 /dev/hda8 上,还有一个 56G 的磁盘分区 /dev/sda1 挂载在 /mnt/sda1 中。 二、fdsik 命令 ...
由于Oracle 11g默认将临时表空间放在`/dev/shm`目录下,因此需要确保该目录有足够的空间。可以通过以下步骤增加`/dev/shm`的大小: 1. 查看当前`/dev/shm`的大小: ```bash df -h /dev/shm ``` 2. 如果发现`/...
Linux中的/dev/shm目录不属于磁盘,而是内存,如果使用/dev/shm/目录作为Linux中的磁盘文件读写缓存,可想效率是非常惊人的。 默认/dev/shm目录没有挂载,需要手动进行挂载。 在以下文件尾端添加以下内容: $ vim /...
- `/dev/shm`:共享内存设备。 - `/dev/systty`:指向系统tty设备的符号链接。 - `/dev/tty`:当前TTY设备。 - `/dev/tty[0-7]`:虚拟控制台。 - `/dev/ttyp[0-7]`:伪终端从设备。 - `/dev/ttyS0`:串口(COM1...
64位Linux下Oracle11G XE安装与配置 Oracle 11G XE 是一种 Relation Database Management System(关系数据库管理系统),可以在 Linux 操作系统下安装和配置。以下是安装和配置 Oracle 11G XE 的详细步骤: 1. ...
tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 1014M 189M 826M 19% /boot tmpfs 378M 0 378M 0% /run/user/0 ``` 从上面的输出可以看到当前系统中的...
/dev/shm 236M 0 236M 0% /dev/shm /dev/sda1 56G 22G 35G 39% /mnt/sda1 ``` 这表明系统根目录`/`安装在`/dev/hda8`上,且使用率为58%;`/dev/sda1`则挂载在`/mnt/sda1`上,使用率为39%。 #### 2. `fdisk` 命令:...