设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

Linux性能优化建议

2012-4-20 13:30| 发布者: 红黑魂| 查看: 1498| 评论: 0|来自: csdn

摘要:   每个人都希望自己的计算机运行如飞,对Linux系统而言,性能优化必不可少。我已经使用了多年Linux,现在与大家分享一些性能优化方面的技巧,希望能够对大家有所助益。编译源代码 vs. 下载二进制文件 跟Linux系统 ...

  每个人都希望自己的计算机运行如飞,对Linux系统而言,性能优化必不可少。我已经使用了多年Linux,现在与大家分享一些性能优化方面的技巧,希望能够对大家有所助益。

编译源代码 vs. 下载二进制文件

    跟Linux系统打交道,你要么选择下载二进制形式(类似于Windows上的发布方式)的软件,要么选择下载源代码自行编译。这两种选择有什么分别?

  我们来简要看看CPU的架构。近来,64位处理器大行其道。64位处理器支持64位指令集及其扩展指令集。对32位处理器和操作系统,大家可能已经熟知了这样一个术语-“x86”。如果使用64位处理器和操作系统,我们会碰到另一个术语-“x86-64”。“x86-64”描述了CPU的架构,也许你猜对了,这是基于x86架构指令集的64位扩展。

  大部分的现代CPU不仅仅支持x86指令集,例如,许多CPU都支持SSE指令集。这些指令集包含了许多特定的例行操作,以提高性能。最初的SSE指令集就包含了浮点操作的例行操作。因此,支持SSE指令集的CPU能够更高效地执行浮点运算。

  你下载的二进制格式安装包,被编译成可以在任何计算机上运行。为了确保高度兼容性,开发人员在二进制安装包发布前将源代码进行了一般性编译(他们会针对x86-4架构,但不会针对特定的指令集)。因此,你下载的二进制格式安装包,并没有针对你的计算机进行特定优化,而是以牺牲性能为代价换取了兼容性的最大化。

  在编译时对这些额外的CPU特性忽略与否,决定了程序执行的效率。编译时针对特定指令集进行优化,意味着程序运行时执行更少的指令,以及产生结果需要更短的执行时间。

  我在此不会详述编译源代码的过程,如果你能安装和配置Linux,相信你可以在Google和Linux社区中找到答案。

编译内核

  对于一些高级用户,可以尝试编译内核。如果是桌面用户,推荐在编译内核时应用BFS补丁。BFS补丁会调整内核进程的调度方式,为桌面用户优化桌面体验。我们编译内核的目的是为了优化性能(比如-o2胜过-os),具体的方法要依据不同的Linux发行版和特定的计算场景。

交换分区

  计算机使用内存来存储临时数据,但由于内存容量有限,所以需要在硬盘上开辟一块临时存储空间,这就是交换分区。

  交换分区也有讨厌的一面。硬盘的速度比内存慢很多,更不用说CPU中的缓存和寄存器了。正式因为这个原因,当计算机使用交换分区时,你会发现,当前程序乃至整个计算机运行缓慢。

  所幸,现在内存已经很便宜了。如果你有足够的内存,可以在命令行终端停用交换分区:

  1. echo "vm.swappiness=10" > /etc/sysctl.d/20-swappiness.conf 

  此命令适用于大多数Linux发行版。如果不确定,请针对你使用的Linux发行版运行特定的命令(Google一下)。

总结

  以上是我对Linux用户的几点性能优化建议。希望大家有足够的探索精神,自己做一点研究。只有亲自尝试,才能体会Linux学习之旅的乐趣!(张志平/编译)

原文链接:Various Optimization Topics for Linux Users

参考链接:Optimizing System Performance


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部