在 PlayStation 3 上进行 Linux 开发,第 2 部分: 内存操作

http://tech.ddvip.com   2008年06月11日    社区交流

内容摘要:索尼的 PlayStation 3(PS3)能运行 Linux®,但是要运行良好,还需要做些调整。本篇文章是 本系列 的第二篇文章,在这篇文章中 Peter Seebach 研究了大量耗用内存的地方,以及如何找回内存。

  排前十位左右的内存大户都是与 X 相关的。这就是为什么如果真的想释放内存,要做的第一件事可能就是关闭 X。由于注意到许多应用程序是特定于 GNOME 的,所以您可能想试试 KDE,但是我想恐怕不会有效果。KDE 在 PS3 上的内存开支与 GNOME 不相上下。

  实际上,如果绝对需要 X,那么最好是不使用 X 登录窗口提供的 X 会话环境,改用控制台登录,然后用小一些的窗口管理器和少一些的附加程序来启动 X。但是如何做到这点呢?首先是退出 top,回到提示符—只要按 q 即可。

  利用运行级(runlevel)

  运行级是许多 Linux 用户都没有机会了解的一项特性。它们实际上继承自 System V UNIX®,当然也有一些区别。运行级 是定义好的一套并行运行的系统服务。由于历史原因,常用的桌面 Linu 环境带有生成 Gnome 或 KDE 的图形登录应用程序,这种环境称为运行级 5。传统的没有 X 的独立工作站通常在运行级 2 下运行。在理论上,可以使用 /sbin 目录下的 init 命令直接修改系统的运行级。例如,(以 root 身份)运行 /sbin/init 2,就是告诉系统转移到运行级 2(通常这是通过中断运行级 2 不使用的服务,然后启动运行级 2 上使用的服务来完成的)。

  默认的运行级由 /etc/inittab 文件中的一行设置,这一行看起来像下面这样:

  清单 3. 默认运行级

     id:5:initdefault:

  这种格式是历史造成的,您要了解的就是要想有效地修改它,只要将 5 改成 2 或 3 即可。然后下次系统启动时,就会进入文本控制台登录提示符,而不会启动 X。

  一个简单的事实就是:对于内存有限的开发系统来说,文本控制台比全功能的 X 环境更合适。所以现在要看看哪些功能是可以去掉的。请将 /etc/inittab 的 initdefault 值改为 3 并重新启动(实际上能够用 init 命令过渡,但是在一些特殊情况下这个命令不生效)。立即就能注意到系统启动快了许多。在登录之后,立即运行 top。结果与前面有异,内存可能只占满了一半,而不是像前面那样几乎全部占满。生效了!

来源:ibm    作者:Peter Seebach    责编:豆豆技术应用

正在加载评论...