热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

加速你的Ubuntu降低CPU使用率

方法来自这篇文章FeistyPerformance-“FlyLikeAButterfly”(中文翻译),作者总结了很多关于优化和加速Feisty的方法。按照下面的方法来做,到底有没有实际效果,就得大家试了才知道,至少我使用后,发现启动速度有了很大的提高。注意:以下部分步骤如果修改错误,会导致系统无法启动,所以需要认真一点。1、禁用IPv6目前IPv6还没有到来

方法来自这篇文章 Feisty Performance - “Fly Like A Butterfly” (中文翻译),作者总结了很多关于优化和加速 Feisty的方法。按照下面的方法来做,到底有没有实际效果,就得大家试了才知道,至少我使用后,发现启动速度有了很大的提高。

注意:以下部分步骤如果修改错误,会导致系统无法启动,所以需要认真一点。

1、禁用 IPv6

目前 IPv6 还没有到来,Ubuntu 这个超前的功能暂时可以屏蔽掉,以加快速度。

编辑 sudo gedit /etc/modprobe.d/aliases,把:

alias net-pf-10 ipv6

修改为

alias net-pf-10 off #ipv6

2、并行运行开机启动脚本

/etc/init.d/ 下面的都是启动脚本,默认这些脚本是按顺序启动的,实际上,如果你使用的是 SATA 或 SCSI 接口,可以并行启动这些脚本程序,加速启动过程。

使用 vi 编辑 sudo vi /etc/init.d/rc,把:

COnCURRENCY=none

修改为

COnCURRENCY=shell

3、将 localhost 化名为主机名

据说这个方法可以改善使用 Ubuntu 一段后,在 GNOME 中启动应用程序变慢的问题。

编辑 sudo gedit /etc/hosts,把:

127.0.0.1 localhost

127.0.1.1 Ubuntu

在第一行末尾加上主机名,也就是第二行的那个名字。

127.0.0.1 localhost Ubuntu

127.0.1.1 Ubuntu

4、禁用 Pango

Pango 是一个着重于国际化的,用于输出和文本渲染的库,但是这个库可能导致 Firefox 等一些程序占用过高的 CPU,所以我们可以禁用它。这样可以很好的降低CPU的使用率。

编辑 sudo gedit /etc/environment,添加:

MOZ_DISABLE_PANGO="1"

5、禁用 gettys

打开 sudo gedit /etc/event.d/tty3,把所有以 start 开头的行,用 # 注释掉。

6、安装 preload

可以把一些常用到的 lib 库和应用程序预加载到内存,以提高程序的启动速度。

sudo apt-get install preload

7、设置 swappiness

减少系统对于 swap 频繁的写入,将加快应用程序之间的切换,有助于提升系统性能。

系统默认为 60,你可以修改为 10:

sudo sysctl vm.swappiness=10

如果要让它开机自动设定,编辑 sudo gedit /etc/sysctl.conf 文件,加入:

vm.swappiness=10

8、使用 grub 的 profile 选项

grub 有个叫做 profile 的选项,它是一种系统启动时所要读取的所有的文件的索引,这样使得随后系统查找并且读取这些文件的速度就会加快。

在开机进入 grub 画面时按 esc 键,然后找到需要启动的内核,按 e 键,编辑启动参数,在后面加入 profile 后再按 b 进行启动。设置后,第一次开机需要建立索引,所以开机速度会慢一点,以后每次更新内核都需要这么做。

9、使用 sysv-rc-conf 关闭不必要的服务.

具体方法,请参考这里。

#############################################3

将localhost化名为主机名,编辑hosts文件,把127.0.0.1等于localhost和本机名写到一行中,比如:

127.0.0.1 localhost

127.0.1.1 fwolf_pcname

==> 变成

127.0.0.1 localhost fwolf_pcname

禁用ipv6,编辑/etc/modprobe.d/aliases:

alias net-pf-10 ipv6

==>

alias net-pf-10 off #ipv6

并行运行开机启动脚本,编辑/etc/init.d/rc:

COnCURRENCY=none

==>

COnCURRENCY=shell

但据说这种方法可能会造成启动问题,慎用,建议多核cpu才使用。

禁用Pango的输出和文本渲染,主要针对mozilla和firefox,可能会导致cpu占用过高。编辑/etc/environment,添加一行:

MOZ_DISABLE_PANGO="1"

关闭之后明显感觉到firefox的显示速度变快了,但显示形式也有了一些变化,比如、网页标题的黑体字现在能体现了,但也感觉字体渲染略微“模糊”了一点点。

安装preload,它可以把一些常用到的库文件预加载到内存,用部分内存空间换取应用程序启动速度的提升。另外注意,prelink从Feisty 7.04起就没用了:

sudo apt-get install preload

禁用多余的虚拟终端,编辑/etc/inittab,把getty部分只留一个就可以了:

1:2345:respawn:/sbin/getty 38400 tty1

#2:23:respawn:/sbin/getty 38400 tty2

#3:23:respawn:/sbin/getty 38400 tty3

#4:23:respawn:/sbin/getty 38400 tty4

#5:23:respawn:/sbin/getty 38400 tty5

#6:23:respawn:/sbin/getty 38400 tty6

Ctrl+Alt+F2-F6就没东西了,F1是我们保留的终端,用于应急处理,F7就是正常的图形环境啦。

注:有些情况下这样好像不行,还要编辑/etc/event.d/tty2,把start开头的两行都注释掉,3456都如法炮制,依然只保留1,再用热键切换过去就是空空的一个提示符了。

调整hdparm加速硬盘,编辑/etc/hdparm.conf,参考内容如下:

/dev/sda {

dma = on

io32_support = 1

mult_sect_io = 32

}

对于内存充足的机器减少对swap的使用,编辑/etc/sysctl.conf,添加:

vm.swappiness=10

这个数值的默认值为60,越小对swap的写入可能就越小,有网友说1G内存调整为5感觉最合适,建议至少512M内存以上再调整这个数值,设为0的话就几乎等于不实用swap了。

使用LVM,但暂时没有进一步的资料。

用bootchart协助,优化系统启动过程,对耗时较多的过程进行优化。

使用bum关闭掉不需要的服务,不推荐用sysv-rc-conf的原因是bum对服务、进程有比较详细的解释说明。

如果fstab中挂有外部磁盘,启动时不需要检测,可以把pass设置为0(fstab中最后一列)。如果在安装系统时就选用更合理的分区方案、分区类型(比如XFS)效果更佳。

现在应该都在用6.10Edgy之后的发行版了,如果是486机器,请选用386内核;P4以后的机器,包括同期的AMD,请选用generic内核;服务器请选用linux-server内核,会有一点点的性能提升,maybe。参考Difference between linux-generic, linux-386。

用deborphan删除不用的库文件:

sudo deborphan | xargs sudo apt-get -y remove --purge


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
author-avatar
zero__
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有