proc 文件系统是 Linux 的优秀特性之一,本文向您详细讲述了它的一些最实用的基础知识。使用 /proc,您再也不用关闭并重新引导机器来管理操作系统的许多细节问题,这对那些要求系统的可用性尽可能高的管理员来说非常有用。
任何管理过具有商业重要性的系统的人都知道计算机正常运行时间的价值 — 或者反过来讲,知道用户因故障时间会给您带来诸多头痛问题。公司采用 UNIX 服务器的主要原因之一是由于它的可靠性和稳定性。如果仔细管理,通常可以很长时间不需重启这些服务器。为了做到尽善尽美,您可以实时执行一些管理任务,甚至是内核这一级别的任务,从而保持服务器的可用性。虽然因升级硬件或因某人踢掉电源线而仍需要重启系统,但了解到许多管理任务可以在不干扰服务的情况下执行,总是有益的。
本文提供了不需要重新引导就能够执行关于各种管理任务和更改系统的提示和技巧。Linux 提供了各种方法,用以在保持系统正常运行的情况下,更改底层操作系统的值和设置。这些方法有两种基本形式,一种形式对于所有 Linux 系统都是通用的,并在 Linux 内核中提供这一形式(您可以在 Linux Kernel Archives 上查找更多关于 Linux 内核的信息和下载内核源代码;请参阅参考资料,里面有至 Linux Kernel Archives 的链接),还有一种形式是各分发版所独有的,并且由供应商提供。本文将讨论这两种方法。
更改运行中的内核的参数
Linux 向管理员提供了非常好的方法,使他们可以在系统运行时更改内核,而不需要重新引导内核/系统。这是通过 /proc 虚拟文件系统实现的。Linux Gazette 给出了一份有关 /proc 的参考,它是我所看到过的最简单且最容易的参考之一。(请参阅参考资料,其中有至这篇文章的链接。)/proc 文件系统主要可以让您查看运行中的内核,这一点对于监控性能、查找系统信息、了解系统是如何配置的以及更改该配置很有用。该文件系统被称为虚拟文件系统,因为它实际上根本不是一个文件系统。它只是内核提供的一个映射,被附加在通常的文件系统结构之上,从而使您能够访问它。
我们可以采用某种方法在系统正常运行的同时更改运行中的内核的参数,这一事实赋予了系统管理员在更改内核设置方面强大的能力和高的灵活性。这种实现是出自部分 Linux 内核开发人员富有灵感的想法。但能力太大会是一件坏事吗?有时确实如此。如果准备更改 /proc 文件系统中的任何内容,您必须确保自己知道在更改什么以及这会对系统产生什么影响。这些技术确实有用,但错误的举动会带来完全不希望得到的结果。如果您不熟悉这方面的内容,或者不确定您所做的某项更改会带来什么影响,那么请在一台对您或您公司不重要的机器上进行实践。
如何更改
首先,考虑怎样做不会对内核进行更改。有两条充分的理由说明了为什么不能直接切换至 /proc 文件系统,用文本编辑器打开一个文件,做一系列更改,然后保存该文件,再退出。这两条理由是:
数据完整性:所有这些文件描述了运行中的系统,由于内核可以随时更改这些文件中的任何一个,因此如果打开一个编辑器,然后更改某些数据,而同时,系统也正在底层更改这些数据,那么无论您保存下来的任何内容都不可能是内核所期望的内容。
虚拟文件:所有这些文件实际上都不存在。如何使保存的数据同步,等等?
所以,解决办法是,不使用编辑器来更改任何这些文件。每当更改 /proc 文件系统中的任何内容时,应该使用 echo 命令,然后从命令行将输出重定向至 /proc 下所选定的文件中。例如:
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 文件 系统 控制系统 使用 管理 实时 内核 更改 设置 可以 |
注册
个人空间
