a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 96|回复: 0

[红旗认证] 加速Ubuntu,降低CPU使用率

[复制链接]
发表于 2012-8-4 12:16:06 | 显示全部楼层 |阅读模式
  方法来自这篇文章 Feisty Performance - “Fly Like A Butterfly” (中文翻译),作者总结了很多关于优化和加速 Feisty的方法。按照下面的方法来做,到底有没有实际效果,就得大家试了才知道,至少我使用后,发现启动速度有了很大的提高。
, r; ]/ M: V; F) y. M  注意:以下部分步骤如果修改错误,会导致系统无法启动,所以需要认真一点。
8 d# M2 }1 j' f) [  1、禁用 IPv6
& G6 U+ ~7 A% p  \  目前 IPv6 还没有到来,Ubuntu 这个超前的功能暂时可以屏蔽掉,以加快速度。0 t8 `$ S2 P0 `: ?$ s) V; J1 w
  编辑 sudo gedit /etc/modprobe.d/aliases,把:& ~# i$ K$ u! h1 s% A/ z5 Y
  alias net-pf-10 ipv6
: {3 {; o3 L# X2 m8 K  修改为6 i. F/ ?* z# F" ~. P/ d
  alias net-pf-10 off #ipv6
$ \! o- N7 h1 j! }  2、并行运行开机启动脚本4 G) z. {* X6 c+ W( _, _0 E/ k
  /etc/init.d/ 下面的都是启动脚本,默认这些脚本是按顺序启动的,实际上,如果你使用的是 SATA 或 SCSI 接口,可以并行启动这些脚本程序,加速启动过程。
# U! k. t) |* \3 T  使用 vi 编辑 sudo vi /etc/init.d/rc,把:
2 A: {& {) N- |3 U4 e' S0 s0 P  CONCURRENCY=none* d2 z, ^0 z% U1 O5 F
  修改为
5 `* b' P9 ], X- V2 j9 M  CONCURRENCY=shell
' X/ h* c( ?  i' B  3、将 localhost 化名为主机名
$ o, c+ K0 i& B3 y# d! h  据说这个方法可以改善使用 Ubuntu 一段后,在 GNOME 中启动应用程序变慢的问题。1 B5 Q+ F% |9 R
  编辑 sudo gedit /etc/hosts,把:
2 n' Y8 n0 d5 f0 o  127.0.0.1 localhost( V( E( ]( {/ S) o- f
  127.0.1.1 Ubuntu1 A- y, m1 V. @/ S, ]) d! A  A
  在第一行末尾加上主机名,也就是第二行的那个名字。
0 _) ^8 E/ M- x9 D; @4 t  127.0.0.1 localhost Ubuntu1 d! d% V3 V* T0 x$ |9 c9 C9 N5 c
  127.0.1.1 Ubuntu
2 c3 u  z, r! R5 z  4、禁用 Pango) B& K- ^/ }0 R. s. o9 n/ U- J0 V
  Pango 是一个着重于国际化的,用于输出和文本渲染的库,但是这个库可能导致 Firefox 等一些程序占用过高的 CPU,所以我们可以禁用它。这样可以很好的降低CPU的使用率。. O! e. q9 n) h2 d/ C0 Q# B( c( c
  编辑 sudo gedit /etc/environment,添加:
3 i% q$ I% X3 ]; H  MOZ_DISABLE_PANGO="1"
+ V5 X2 `4 ~1 _  5、禁用 gettys; }, @$ V. Y" u3 ]' s
  打开 sudo gedit /etc/event.d/tty3,把所有以 start 开头的行,用 # 注释掉。
, h8 A  U8 w7 C# u  6、安装 preload
# O$ L* y: E" |( _  可以把一些常用到的 lib 库和应用程序预加载到内存,以提高程序的启动速度。  }" C. z/ O* W& s0 u( J3 O3 v
  sudo apt-get install preload
3 ]1 R' G3 w8 x- F9 B  7、设置 swappiness  W3 V. k& b# x3 a" M1 _2 ~" _
  减少系统对于 swap 频繁的写入,将加快应用程序之间的切换,有助于提升系统性能。
4 g. I! f6 H; r8 y  系统默认为 60,你可以修改为 10:
+ X3 w1 J$ S% `  sudo sysctl vm.swappiness=10
6 A. z# x' L$ T3 P  如果要让它开机自动设定,编辑 sudo gedit /etc/sysctl.conf 文件,加入:
+ h% q  Z2 g( c3 j+ t; J9 _! D: e  vm.swappiness=10
+ l& [# R8 R2 s! ?3 n4 a8 K  8、使用 grub 的 profile 选项
* W3 u# D( E1 w  grub 有个叫做 profile 的选项,它是一种系统启动时所要读取的所有的文件的索引,这样使得随后系统查找并且读取这些文件的速度就会加快。$ K+ C2 G4 J- v1 K
  在开机进入 grub 画面时按 esc 键,然后找到需要启动的内核,按 e 键,编辑启动参数,在后面加入 profile 后再按 b 进行启动。设置后,第一次开机需要建立索引,所以开机速度会慢一点,以后每次更新内核都需要这么做。
; V2 g9 E. N8 U' B* m/ Z, E4 z  9、使用 sysv-rc-conf 关闭不必要的服务.
7 j. k# v0 j5 G' S  p( v2 Y  具体方法,请参考这里。: _/ r3 q0 H0 `, Y
  #############################################3* y2 e8 ?# h9 a* C7 g
  将localhost化名为主机名,编辑hosts文件,把127.0.0.1等于localhost和本机名写到一行中,比如:7 ^0 X  R1 D2 M( X; z
  127.0.0.1 localhost8 x, W6 g3 Y4 a2 r4 e1 m
  127.0.1.1 fwolf_pcname
# h) @# A+ }* O  ==> 变成
8 J* |0 U4 A. Q+ m  127.0.0.1 localhost fwolf_pcname
. Q9 @1 S$ Q3 M; U  禁用ipv6,编辑/etc/modprobe.d/aliases:) j2 n( w" M# Z6 W
  alias net-pf-10 ipv6; f( _& o  O3 q/ G
  ==>
, D6 a5 [0 s* a( Z9 ^  alias net-pf-10 off #ipv6; t: W7 ?/ e8 g8 n7 f+ v7 s/ _1 ?
  并行运行开机启动脚本,编辑/etc/init.d/rc:
1 o% ~5 w2 o% J& c  CONCURRENCY=none1 q3 K+ q+ \+ b3 A  `5 Q
  ==>
( P% V- j4 `' V) e5 @  CONCURRENCY=shell
) N. f1 M( R9 p* Y+ y  但据说这种方法可能会造成启动问题,慎用,建议多核cpu才使用。
  \( l1 m, o$ Z! f1 G+ ~  禁用Pango的输出和文本渲染,主要针对mozilla和firefox,可能会导致cpu占用过高。编辑/etc/environment,添加一行:3 q5 z1 _3 i$ d+ P0 G& |
  MOZ_DISABLE_PANGO="1"! T, X# j7 s7 @- i
  关闭之后明显感觉到firefox的显示速度变快了,但显示形式也有了一些变化,比如、网页标题的黑体字现在能体现了,但也感觉字体渲染略微“模糊”了一点点。: w+ s) _: U) u2 o( s. q# B, a6 l* V
  安装preload,它可以把一些常用到的库文件预加载到内存,用部分内存空间换取应用程序启动速度的提升。另外注意,prelink从Feisty 7.04起就没用了:$ H" g$ X. o" ]6 m! H
  sudo apt-get install preload
4 \$ v: A; @8 |/ ]: I8 A, g4 t  禁用多余的虚拟终端,编辑/etc/inittab,把getty部分只留一个就可以了:. [, q1 M8 g( A- `2 ^' a" c
  1:2345:respawn:/sbin/getty 38400 tty12 J! K  |; o, ]9 n
  #2:23:respawn:/sbin/getty 38400 tty2
% w5 X7 y4 z0 K3 J% D% C# F- R' D  #3:23:respawn:/sbin/getty 38400 tty3( ~  ?0 X! }' z
  #4:23:respawn:/sbin/getty 38400 tty4' t  t& [# z5 e8 u
  #5:23:respawn:/sbin/getty 38400 tty59 ^6 n* M1 R+ q6 p% S
  #6:23:respawn:/sbin/getty 38400 tty6
" z, u) _5 O- y  Y0 s4 t  Ctrl+Alt+F2-F6就没东西了,F1是我们保留的终端,用于应急处理,F7就是正常的图形环境啦。
2 U7 I( m  p3 q. H& S  注:有些情况下这样好像不行,还要编辑/etc/event.d/tty2,把start开头的两行都注释掉,3456都如法炮制,依然只保留1,再用热键切换过去就是空空的一个提示符了。
5 b( h1 v: h6 A; ^" ]( R" s' e  调整hdparm加速硬盘,编辑/etc/hdparm.conf,参考内容如下:8 X3 J" r3 Z4 }, p
  /dev/sda {
7 H1 e4 _! f; T7 }3 F2 M7 @# D3 D& j! r  dma = on
8 H# ^; [+ q3 ~/ t! B. ?# x  io32_support = 1! }* L4 ?# W8 Y
  mult_sect_io = 32
1 x, ~% V, P/ F: T; G  }9 ?! D* D' `5 X/ T& Y
  对于内存充足的机器减少对swap的使用,编辑/etc/sysctl.conf,添加:( T0 u& D  X3 h! N' m2 p( l
  vm.swappiness=10* u$ z8 C7 w9 m+ D0 f
  这个数值的默认值为60,越小对swap的写入可能就越小,有网友说1G内存调整为5感觉最合适,建议至少512M内存以上再调整这个数值,设为0的话就几乎等于不实用swap了。
+ q' n$ R3 g4 p- l7 `  使用LVM,但暂时没有进一步的资料。9 s* g3 N, v7 ^( W7 R# j4 H/ \
  用bootchart协助,优化系统启动过程,对耗时较多的过程进行优化。
4 Q$ t7 }3 |% M3 f* H2 e/ I  使用bum关闭掉不需要的服务,不推荐用sysv-rc-conf的原因是bum对服务、进程有比较详细的解释说明。
9 p( P; W% m) |% h' j! r  如果fstab中挂有外部磁盘,启动时不需要检测,可以把pass设置为0(fstab中最后一列)。如果在安装系统时就选用更合理的分区方案、分区类型(比如XFS)效果更佳。
& S- |9 `' a9 r) h& j! f  现在应该都在用6.10Edgy之后的发行版了,如果是486机器,请选用386内核;P4以后的机器,包括同期的AMD,请选用generic内核;服务器请选用linux-server内核,会有一点点的性能提升,maybe。参考Difference between linux-generic, linux-386。, `7 v8 T& r8 p( Q
  用deborphan删除不用的库文件:3 j" p5 W, `. V. o2 J3 e1 L
  sudo deborphan | xargs sudo apt-get -y remove --purge
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-29 16:30 , Processed in 0.213749 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表