📄 1175.html
字号:
幸运的是,tmpfs 允许您在安装或重新安装文件系统的时候指定文件系统容量的最大值上限。实际上,从 2.4.6 内核到 2.11g 内核,这些参数只能在安装时设置,而不是重新安装时,但我们可以期望在不久的将来可以在重新安装时设置这些参数。tmpfs 容量最大值的最佳设置依赖于资源和您特定的 Linux 主机的使用模式;这个想法是要防止一个完全使用资源的 tmpfs 文件系统耗尽所有虚拟内存结果导致我们前面谈到的糟糕的低 VM 情况。寻找好的 tmpfs 上限值的一个好方法是使用 top 来监控您系统的交换分区在高峰使用阶段的使用情况。然后,确保指定的 tmpfs 上限稍小于所有这些高峰使用时间内空闲交换分区和空闲 RAM 的总和。<br>
<br>
创建有最大容量的 tmpfs 文件系统很容易。要创建一个新的最大 32 MB 的 tmpfs 文件系统,请键入:<br>
# mount tmpfs /dev/shm -t tmpfs -o size=32m<br>
<br>
这次,我们没有把 tmpfs 文件系统安装在 /mnt/tmpfs,而是创建在 /dev/shm,这正好是 tmpfs 文件系统的“正式”安装点。如果您正好在使用 devfs,您会发现这个目录已经为您创建好了。<br>
<br>
还有,如果我们想将文件系统的容量限制在 512 KB 或 1 GB 以内,我们可以分别指定 size=512k 和 size=1g。除了限制容量,我们还可以通过指定 nr_inodes=x 参数限制索引节点(文件系统对象)。在使用 nr_inodes 时,x 可以是一个简单的整数,后面还可以跟一个 k、m 或 g 指定千、百万或十亿(!)个索引节点。<br>
<br>
而且,如果您想把上面的 mount tmpfs 命令的等价功能添加到 /etc/fstab,应该是这样:<br>
<br>
<br>
<br>
tmpfs /dev/shm tmpfs size=32m 0 0<br>
<br>
<br>
在现存的安装点上安装<br>
在以前使用 2.2 的时候,试图在已经安装了东西的安装点再次安装任何东西都会引发错误。然而,重写后的内核安装代码使多次使用安装点不再成为问题。这里是一个示例的情况:假设我们有一个现存的文件系统安装在 /tmp。然而,我们决定要开始使用 tmpfs 进行 /tmp 的存储。过去,您唯一的选择就是卸载 /tmp 并在其位置重新安装您新的 tmpfs/tmp 文件系统,如下所示:<br>
<br>
<br>
<br>
# umount /tmp<br>
<br>
# mount tmpfs /tmp -t tmpfs -o size=64m<br>
<br>
可是,这种解决方案也许对您不管用。可能有很多正在运行的进程在 /tmp 中有打开的文件;如果是这样,在试图卸载 /tmp 时,您就会遇到如下的错误:<br>
<br>
umount: /tmp: device is busy<br>
<br>
<br>
然而,使用最近的 2.4 内核,您可以安装您新的 /tmp 文件系统,而不会遇到“device is busy”错误:<br>
<br>
<br>
<br>
# mount tmpfs /tmp -t tmpfs -o size=64m<br>
<br>
<br>
用一条命令,您新的 tmpfs /tmp 文件系统就被安装在 /tmp,并安装在已经安装的不能再被直接访问的分区之上。然而,虽然您不能访问原来的 /tmp,任何在原文件系统上还有打开文件的进程都可以继续访问它们。而且,如果您 unmount 基于 tmpfs 的 /tmp,原来安装的 /tmp 文件系统会重新出现。实际上,您在相同的安装点上可以安装任意数目的文件系统,安装点就象一个堆栈;卸载当前的文件系统,上一个最近安装的文件系统就会重新出现。<br>
<br>
绑定安装<br>
使用绑定安装,我们可以将所有甚至部分已经安装的文件系统安装到另一个位置,而在两个安装点可以同时访问该文件系统。例如,您可以使用绑定安装来安装您现存的根文件系统到 /home/drobbins/nifty,如下所示:<br>
<br>
<br>
<br>
# mount --bind / /home/drobbins/nifty<br>
<br>
现在,如果您观察 /home/drobbins/nifty 的内部,您就会看到您的根文件系统(/home/drobbins/nifty/etc、/home/drobbins/nifty/opt 等)。而且,如果您在根文件系统修改文件,您在 /home/drobbins/nifty 中也可以看到所作的改动。这是因为它们是同一个文件系统;内核只是简单地为我们将该文件系统映射到两个不同的安装点。注意,当您在另一处安装文件系统时,任何安装在绑定安装文件系统内部的安装点的文件系统都不会随之移动。换句话说,如果您在单独的文件系统上有 /usr,我们前面执行的绑定安装就会让 /home/drobbins/nifty/usr 为空。您会需要附加的绑定安装命令来使您能够浏览位于 /home/drobbins/nifty/usr 的 /usr 的内容:<br>
<br>
<br>
<br>
# mount --bind /usr /home/drobbins/nifty/usr<br>
<br>
绑定安装部分文件系统<br>
绑定安装让更妙的事情成为可能。假设您有一个 tmpfs 文件系统安装在它的传统位置 /dev/shm,您决定要开始在当前位于根文件系统的 /tmp 使用 tmpfs。虽然可以在 /tmp(这是可能的)安装一个新的 tmpfs 文件系统,您也可以决定让新的 /tmp 共享当前安装的 /dev/shm 文件系统。然而,虽然您可以在 /tmp 绑定安装 /dev/shm 就完成了,但您的 /dev/shm 还包含一些您不想在 /tmp 出现的目录。所以,您怎么做呢?这样如何:<br>
<br>
<br>
<br>
# mkdir /dev/shm/tmp<br>
<br>
<br>
<br>
# chmod 1777 /dev/shm/tmp<br>
<br>
<br>
<br>
# mount --bind /dev/shm/tmp /tmp<br>
<br>
<br>
在这个示例中,我们首先创建了一个 /dev/shm/tmp 目录,然后给它 1777 权限,对 /tmp 适当的许可。既然我们的目录已经准备好了,我们可以安装,也只能安装 /dev/shm/tmp 到 /tmp。所以,虽然 /tmp/foo 会映射到 /dev/shm/tmp/foo,但您没有办法从 /tmp 访问 /dev/shm/bar 文件。<br>
<br>
正如您所见,绑定安装非常强大,让您可以轻易地修改文件系统设计,丝毫不必忙乱。下一篇文章,我们会谈到 devfs,至于现在,您也许会想看看下面的参考资料。<br>
<br>
参考资料<br>
<br>
* 阅读 Daniel 本系列以前的文章,他在那里介绍了创建日志和使用 ReiserFS 的好处,并展示了如何安装一个稳固的基于 Linux 2.4 的 ReiserFS 系统。<br>
* Linux Weekly News 是与最新的内核开发保持同步的很好的参考资料。<br>
* util-linux(最新链接)收集了各种重要的 Linux 应用程序,包括 mount 和 unmount。您也许希望升级到最新的可用版本,这样您就可以使用 mount --bind 语法(而不是使用 mount -o bind)。<br>
* 因为 tmpfs 和绑定安装相对来说比较新,大部分都是没有文档说明的内核新特性,学习它们的最好方法就是学习 Linux 内核源代码的相关部分。<br>
* Namesys 页面就是学习更多关于 ReiserFS 的地方。<br>
* ReiserFS 邮件清单是更深入了解当前ReiserFS 信息的很好的资源。一定还要看看 ReiserFS 邮件清单归档。<br>
* 在 Juan I. Santos Florido 的 Linux Gazette Journal File Systems 回顾中,您可以找到 UFS、ext2 和 ReiserFS 之间元数据差异的很深入的讲解和其它一些内容。<br>
* Jedi 的 ReiserFS/Qmail 调优页面包含很多对 qmail 用户很有用的信息。一定还要看看 ReiserSMTP,Jedi 在这里收集了很多提供强大 qmail 性能的 qmail 组件。<br>
* 阅读 developerWorks 上 Steve Best 的 JFS 概观。<br>
* 参加 developerWorks 上 Daniel 的免费的 JFS 基础教程。<br>
* 浏览 developerWorks 上更多 Linux 参考资料。<br>
* 浏览 developerWorks 上更多开放源代码资源。<br>
<br>
关于作者<br>
Daniel Robbins 是 Gentoo Technologies,Inc. 的总裁/首席执行官,住在新墨西哥州的 Albuquerque,他是 Gentoo Linux(一种 PC 机上的高级 Linux)和 Portage 系统(Linux 的下一代移植系统)的创建者。他还是 Macmillan 的书籍 Caldera OpenLinux Unleashed、SuSE Linux Unleashed 和 Samba Unleashed 的特约作者。Daniel 从他二年级时接触到 Logo 编程语言和 Pac Man 游戏的潜在危险魔力后就被这股热流卷进了计算机中。这或许可以解释他为什么曾经是 SONY 电子出版/游戏公司的首席图形设计师了。Daniel 喜欢花时间和他的妻子 Mary 还有他刚出生的宝贝女儿 Hadassah 在一起。您可以通过 drobbins@gentoo.org 联系他。
</FONT><br>
</TD>
</TR>
<TR>
<TD colSpan=2><FONT
class=middlefont></FONT><BR>
<FONT
class=normalfont>全文结束</FONT> </TD>
</TR>
<TR>
<TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2
height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
<TD vAlign=top width="20%"
background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2>
<DIV align=center>
<table class=tableoutline cellspacing=1 cellpadding=4
width="100%" align=center border=0>
<tr class=firstalt>
<td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
<font class=normalfont><b>所有分类</b></font></td>
</tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td> </tr> </table></td></tr> </table>
</DIV></TD></TR>
<TR vAlign=top>
<TD width="80%">
<DIV align=center><BR>
</DIV>
</TD></TR></TBODY></TABLE></TD></TR>
</TABLE></TD></TR>
</TABLE>
<TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee
border=0><TBODY>
<TR>
<TD width="50%">
<P><FONT class=middlefont>版权所有 © 2004 <A
href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
违者必究. </FONT></P>
</TD>
<TD width="50%">
<DIV align=right><FONT class=middlefont>Powered by: <A
href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
</TD></TR></TBODY></TABLE>
<CENTER></CENTER></TD></TR>
</TABLE></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -