- 浏览: 506153 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
gaoke:
"我觉得这是java动态生成代码的方式得到的,因为使 ...
InvocationHandler中invoke()方法的调用问题 -
lyandyhk:
可以,反正对于我这个水平来说刚刚好,正好全部看懂,满分
InvocationHandler中invoke()方法的调用问题 -
593844923:
Subject subject=(Subject) Proxy ...
InvocationHandler中invoke()方法的调用问题 -
hl174:
写的不错 源码确实有点长 第一次大致看还有些没看怎么明白
InvocationHandler中invoke()方法的调用问题 -
draem0507:
129应该表示为00000000 10000001,转成byt ...
Java的补码表示
以下内容摘自:http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=61545在此表示感谢!
有人看到这个标题的时候,心里一定在嘀咕“linux需要优化吗?”。
在回答这个问题之前,我先问个问题“何谓优化?”,我的理念是,没有最优的,合
适自己的才是更优的,把桌面背景调成自己喜欢的颜色,算不算优化呢?
我想上面两个问题都不用回答,如果你有兴趣,可以接着看下去。
这里要说的优化,主要指性能上的。优化是针对自己硬件,针对自己需求来做的,因
此不存在适合所有人的优化方法。以我的机器为例,结合Ubuntu讲述。
CPU: AMD AM2 Athlon64 X2 3600+
RAM: DDRII 800 512M * 2
DISK: SATA2 250G 8M
§加快启动速度
如果你常常使用大量的外设,比如说红外、蓝牙、打印机、扫描仪等,这部分可以跳
过,因为这里将去掉这些东西在引导系统时的加载,以提高启动速度。
Ubuntu和其它多数发行版一样,在引导的时候,默认会加载大量的你不需要的东西,
HP打印机,LVM,RAID,甚至是盲人使用的特性。这些东西一般都可以去掉,即使你偶尔
需要使用,可以通过手动的方式启动,不会影响你的使用,这就类似于windows的自启动
程序,Ubuntu的自启动程序数量是的惊人的。
虽然可以通过命令行直接控制服务的一切,但对于新手来说,这不够直观,也没那
么安全,因此借助第3方的工具来实现,不过请放心,那个工具是免费的。
安装这个工具 并且运行
$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf
哪些是需要的 哪些是不需要的 可以一个个的去用google搜索,这里给出一些大
部分人可以考虑去掉的例子。
evms,cron,anacron,apmd,atd,mdamd,lvm 如果不知道是什么,可以放心去掉
bluez-utiles 蓝牙,如果你每次开机都要用,那么留着也无妨。
bootlogd 如果你有查看日志的爱好 那么留着吧
cupsys 如果你常用打印机,就留着
dns-clean 如果是拨号上网的,留着
fetchmail 如果不知道是干嘛的 也可以去掉
hdparm 如果都是SATA硬盘 去掉吧
hotkey-setup 只有笔记本可能需要,你可以尝试去掉,有副作用就改回来
hotplug 大多数人可以去掉,有些硬件可能需要,比如品种罕见的声卡
hplip 你有惠普打印机的话 就留着
klogd 去掉也无妨
networking 在交大宿舍上网的可以放心去掉
ntp-server 时间同步,一般可以去掉
pcmcia 传说中的设备 我没见过,因此去掉了
powernowd 如果CPU支持变频,可以留着省电,去掉也无妨
ppp 拨号上网用的 不拨号的就关掉
ppp-dns 同上
readahead 关掉
rmnologin 去掉
rsync 如果不知道干嘛的 去掉
screen-cleanup 去掉
stop-bootlogd 去掉
sysklogd 去掉也无妨 随你
urandom 去掉也无妨
usplash 那个黄色的启动画面 去掉吧
bittorrent 去掉
其余的服务,不妨自己琢磨琢磨
使用并发加载 有的单核的机器上反而会变慢,建议双核用户使用
sudo vi /etc/init.d/rc
找到 CONCURRENCY=none
修改为 CONCURRENCY=shell
保存后退出
§使用适合自己的内核
从kernel.org下载源码自己编译内核,调整参数,使之适合自己。
内核时钟频率 有100 250 333 1000等选项 选择适合自己的
驱动,将磁盘控制器,文件系统的编译进内核,其余的编译成模块,不需要的就
去掉不编译
CPU类型,选择跟自己型号一致的
内存大小,大于等于1G内存的,打开大于1G内存支持
可以斟酌的地方很多,这里不再赘述,我的内核精简到了1.2M,这个大小你可以
参考一下。
§合理使用内存
Linux的内存管理机制跟windows不同,纵然你有64G的内存,使用一段时间之后,
剩余的物理内存仍然会相当的少,内存不是看的,是拿来用的,所以不要觉得奇怪。
这里需要调整的一个参数是vm.swappiness,Ubuntu默认是60。这个参数是决定
内核将程序swap到swap里,还是释放掉部分cache。0表示释尽量放掉部分cache,100
表示尽量使用swap,可以在0到100之间调节。我个人调整成了0。
sudo echo 'vm.swappiness = 0' >> /etc/sysctl.conf
如果要不重启就生效,可以再修改一下 /proc/sys/vm/swappiness
§资源限制
编辑 /etc/security/limits.conf
* hard core 0
enjoy hard nofile 128
enjoy hard fsize 1024000
enjoy hard rss 102400
enjoy hard stack 102400
enjoy hard cpu 10
enjoy hard nproc 20
enjoy hard maxlogins 10
enjoy hard data 102400
saga hard nproc 200
saga hard nofile 4096
enjoy和saga都是用户名,限制的具体内容看 这个文件的注释。
如果不作这个限制,可能一行代码就让你很惨了,甚至需要你重启一下。
你可以把下面这行代码复制粘贴到终端里执行测试一下是否需要限制
){ :|:; }; :
§裁减系统体积
如果硬盘空间吃紧,删除不需要的应用软件,这个对于新手同样是存在风险的,
慎行。
§其他优化
如果你不需要使用ipv6
sudo vi /etc/modprobe.d/aliases
找到alias net-pf-10 ipv6
改为alias net-pf-10 off #ipv6
禁用pango
sudo echo 'MOZ_DISABLE_PANGO="1"' >> /etc/environment
硬盘优化(SATA的可以不做)
sudo hdparm -t -T /dev/hda //测试硬盘性能
sudo hdparm -c 1 /dev/hda //使用32bit传输模式
sudo hdparm -d 1 /dev/hda //使用DMA
sudo hdparm -t -T /dev/hda //再次测试
sudo hdparm -k 1 /dev/hda //保存结果
这里的/dev/hda换成你自己的对应的设备
§常用软件的设置
OpenOffice里有个Java的选项,一般可以禁用掉。
Firefox地址栏输入 about:config 回车
browser.sessionhistory.max_entries 设置为5
browser.sessionhistory.max_total_viewers 设置为1
network.http.max-connections-per-server 设置为10
network.http.pipelining.maxrequests 设置为10
network.dns.disableIPv6 设置为true
network.dnsCacheEntries 设置为9999
network.dnsCacheExpiration 设置为9999
browser.cache.disk.capacity 设置为512000
browser.cache.memory.capacity 设置为102400(内存小的人可以设置小一些)
具体的含义 自己查看mozilla的官方站点在线文档 设置为合适自己的
有人看到这个标题的时候,心里一定在嘀咕“linux需要优化吗?”。
在回答这个问题之前,我先问个问题“何谓优化?”,我的理念是,没有最优的,合
适自己的才是更优的,把桌面背景调成自己喜欢的颜色,算不算优化呢?
我想上面两个问题都不用回答,如果你有兴趣,可以接着看下去。
这里要说的优化,主要指性能上的。优化是针对自己硬件,针对自己需求来做的,因
此不存在适合所有人的优化方法。以我的机器为例,结合Ubuntu讲述。
CPU: AMD AM2 Athlon64 X2 3600+
RAM: DDRII 800 512M * 2
DISK: SATA2 250G 8M
§加快启动速度
如果你常常使用大量的外设,比如说红外、蓝牙、打印机、扫描仪等,这部分可以跳
过,因为这里将去掉这些东西在引导系统时的加载,以提高启动速度。
Ubuntu和其它多数发行版一样,在引导的时候,默认会加载大量的你不需要的东西,
HP打印机,LVM,RAID,甚至是盲人使用的特性。这些东西一般都可以去掉,即使你偶尔
需要使用,可以通过手动的方式启动,不会影响你的使用,这就类似于windows的自启动
程序,Ubuntu的自启动程序数量是的惊人的。
虽然可以通过命令行直接控制服务的一切,但对于新手来说,这不够直观,也没那
么安全,因此借助第3方的工具来实现,不过请放心,那个工具是免费的。
安装这个工具 并且运行
$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf
哪些是需要的 哪些是不需要的 可以一个个的去用google搜索,这里给出一些大
部分人可以考虑去掉的例子。
evms,cron,anacron,apmd,atd,mdamd,lvm 如果不知道是什么,可以放心去掉
bluez-utiles 蓝牙,如果你每次开机都要用,那么留着也无妨。
bootlogd 如果你有查看日志的爱好 那么留着吧
cupsys 如果你常用打印机,就留着
dns-clean 如果是拨号上网的,留着
fetchmail 如果不知道是干嘛的 也可以去掉
hdparm 如果都是SATA硬盘 去掉吧
hotkey-setup 只有笔记本可能需要,你可以尝试去掉,有副作用就改回来
hotplug 大多数人可以去掉,有些硬件可能需要,比如品种罕见的声卡
hplip 你有惠普打印机的话 就留着
klogd 去掉也无妨
networking 在交大宿舍上网的可以放心去掉
ntp-server 时间同步,一般可以去掉
pcmcia 传说中的设备 我没见过,因此去掉了
powernowd 如果CPU支持变频,可以留着省电,去掉也无妨
ppp 拨号上网用的 不拨号的就关掉
ppp-dns 同上
readahead 关掉
rmnologin 去掉
rsync 如果不知道干嘛的 去掉
screen-cleanup 去掉
stop-bootlogd 去掉
sysklogd 去掉也无妨 随你
urandom 去掉也无妨
usplash 那个黄色的启动画面 去掉吧
bittorrent 去掉
其余的服务,不妨自己琢磨琢磨
使用并发加载 有的单核的机器上反而会变慢,建议双核用户使用
sudo vi /etc/init.d/rc
找到 CONCURRENCY=none
修改为 CONCURRENCY=shell
保存后退出
§使用适合自己的内核
从kernel.org下载源码自己编译内核,调整参数,使之适合自己。
内核时钟频率 有100 250 333 1000等选项 选择适合自己的
驱动,将磁盘控制器,文件系统的编译进内核,其余的编译成模块,不需要的就
去掉不编译
CPU类型,选择跟自己型号一致的
内存大小,大于等于1G内存的,打开大于1G内存支持
可以斟酌的地方很多,这里不再赘述,我的内核精简到了1.2M,这个大小你可以
参考一下。
§合理使用内存
Linux的内存管理机制跟windows不同,纵然你有64G的内存,使用一段时间之后,
剩余的物理内存仍然会相当的少,内存不是看的,是拿来用的,所以不要觉得奇怪。
这里需要调整的一个参数是vm.swappiness,Ubuntu默认是60。这个参数是决定
内核将程序swap到swap里,还是释放掉部分cache。0表示释尽量放掉部分cache,100
表示尽量使用swap,可以在0到100之间调节。我个人调整成了0。
sudo echo 'vm.swappiness = 0' >> /etc/sysctl.conf
如果要不重启就生效,可以再修改一下 /proc/sys/vm/swappiness
§资源限制
编辑 /etc/security/limits.conf
* hard core 0
enjoy hard nofile 128
enjoy hard fsize 1024000
enjoy hard rss 102400
enjoy hard stack 102400
enjoy hard cpu 10
enjoy hard nproc 20
enjoy hard maxlogins 10
enjoy hard data 102400
saga hard nproc 200
saga hard nofile 4096
enjoy和saga都是用户名,限制的具体内容看 这个文件的注释。
如果不作这个限制,可能一行代码就让你很惨了,甚至需要你重启一下。
你可以把下面这行代码复制粘贴到终端里执行测试一下是否需要限制
){ :|:; }; :
§裁减系统体积
如果硬盘空间吃紧,删除不需要的应用软件,这个对于新手同样是存在风险的,
慎行。
§其他优化
如果你不需要使用ipv6
sudo vi /etc/modprobe.d/aliases
找到alias net-pf-10 ipv6
改为alias net-pf-10 off #ipv6
禁用pango
sudo echo 'MOZ_DISABLE_PANGO="1"' >> /etc/environment
硬盘优化(SATA的可以不做)
sudo hdparm -t -T /dev/hda //测试硬盘性能
sudo hdparm -c 1 /dev/hda //使用32bit传输模式
sudo hdparm -d 1 /dev/hda //使用DMA
sudo hdparm -t -T /dev/hda //再次测试
sudo hdparm -k 1 /dev/hda //保存结果
这里的/dev/hda换成你自己的对应的设备
§常用软件的设置
OpenOffice里有个Java的选项,一般可以禁用掉。
Firefox地址栏输入 about:config 回车
browser.sessionhistory.max_entries 设置为5
browser.sessionhistory.max_total_viewers 设置为1
network.http.max-connections-per-server 设置为10
network.http.pipelining.maxrequests 设置为10
network.dns.disableIPv6 设置为true
network.dnsCacheEntries 设置为9999
network.dnsCacheExpiration 设置为9999
browser.cache.disk.capacity 设置为512000
browser.cache.memory.capacity 设置为102400(内存小的人可以设置小一些)
具体的含义 自己查看mozilla的官方站点在线文档 设置为合适自己的
发表评论
-
编译安装googlepinyin输入法
2012-07-18 20:39 3428苦于没找到fedora下googlepinyin ... -
linux菜单与文件关联
2012-06-27 19:35 1356刚手动装了一个sublime text 2,想 ... -
shell中判断变量是否是数字
2012-05-29 12:01 19461、http://www.kuqin.com/article/ ... -
fedora相关软件及启动优化
2012-02-16 23:43 20471、axel yum多线程更新 ... -
Linux下比较好用的几个软件(不定时更新)
2011-09-19 21:49 16081、expect progra ... -
关闭Fedora15多余的tty
2011-09-12 16:51 2070由于fedora15使用了systemd来启动 ... -
解决kernel 2.6.40-4.fc15下无线网卡冲突
2011-08-21 13:20 1488更新了fedora15的新内核之后,发现无线网 ... -
Fedora下bcm4313无线网卡驱动加载
2011-06-09 20:58 2209之前用ubuntu和archlinux时无线都 ... -
GRUB手工安装Fedora15
2011-06-08 19:59 2433前一段时间装了Arch,这系统不错,可不知为何 ... -
ArchLinux相关配置
2011-05-18 12:47 4530最近开始用archlinux,对于一个linu ... -
Linux下的安全硬重启
2011-05-05 11:16 3573我的笔记本没有硬重启键,由于笔记本的驱动没有l ... -
update-alternatives命令
2011-03-12 19:32 6949摘自:http://www.mumutou.o ... -
修改ubuntu默认编辑器
2011-03-01 14:17 3682ubuntu的默认文本编辑器是gedit,下面 ... -
Linux目录结构
2011-02-27 20:08 922看到一篇说明linux目录结构的博文,说的挺简 ... -
【转】关于laptop挂起后无法唤醒的问题解决方法
2011-02-17 21:41 2292转载自:http ... -
编译安装vim7.3
2011-02-07 18:08 2439安装gvim所需要的包。 sudo aptit ... -
ubuntu背景色改为淡绿色
2011-02-03 23:36 2788桌面->右键->更改桌面背景-&g ... -
文档查看器(Evince)打开中文PDF显示方块的问题
2011-02-03 23:21 2229摘自ubuntu wiki:http://wi ... -
Linux上用virtual box装XP
2011-02-02 00:30 1410安装vbox没什么好说的,从官网直接下一个.d ... -
linux下rpm包的安装
2010-10-31 08:27 14141.如何安装rpm软件 ...
相关推荐
这些知识对于在Linux环境下进行底层编程以及性能优化至关重要。 编程时经常会涉及到进程的管理,Linux编程指南会教导读者如何创建、终止、调度和监控进程。同时,对于多线程编程,书籍会介绍线程的概念、创建和同步...
最后,为了适应不断发展的Linux生态,本书可能还会涵盖一些高级话题,如多线程编程、异步I/O、守护进程的创建、性能分析和优化等。这些进阶内容将帮助读者在面对复杂项目时更有信心。 通过阅读并实践《Linux编程...
8. **调试和性能优化**:学习如何使用GDB等工具进行程序调试,以及如何通过分析和调整代码来优化程序性能,也是Linux编程不可或缺的一部分。 9. **实践项目**:书中很可能包含多个实例项目,如编写简单的服务程序、...
《Tiny6410 Linux开发指南》是一份详尽的文档,主要针对使用Tiny6410开发板的用户,提供了全面的Linux开发环境搭建、系统配置、硬件接口测试以及软件开发指导。以下是对该指南中提及的关键知识点的深度解析。 ### ...
Linux初学者指南是一本专为初次接触Linux操作系统的人设计的入门教程。Linux,作为一个开源、免费的操作系统,因其稳定性和灵活性,在服务器、嵌入式设备和开发者社区中广受欢迎。本指南将帮助读者掌握Linux的基本...
### Linux 2.6.36 内核优化指南 #### 概述 本文档针对Linux Kernel 2.6.36版本进行了详尽的优化处理,并提供了优化前后的主要性能对比,包括内核尺寸、启动时间和启动后的内存占用等方面。通过对内核编译选项的...
通过阅读和分析《GUN Linux编程指南及源代码》中的源代码,开发者可以深入理解Linux编程的底层机制,学习如何优化代码性能,处理异常情况,并了解良好的编程实践。 总之,《GUN Linux编程指南及源代码》为开发者...
GCC编译器是Linux平台上的默认编译器,提供了丰富的编译和优化选项。 2. 移植代码过程 在移植代码过程中,需要新建一个工程,配置工程,处理资源模块,移植对话框代码等。 2.1. 新建工程 在新建工程时,需要在...
《Linux性能调优指南》是IBM专家团队倾力打造的一份深入浅出的教程,旨在帮助用户提升Linux服务器的运行效率和稳定性。这份高清PDF文档详细涵盖了Linux性能优化的各个方面,为管理员提供了一套全面而实用的方法论。...
《I.MX6U嵌入式Linux驱动开发指南》是一本深入探讨嵌入式系统中Linux驱动程序开发的专业教程,特别针对NXP公司的I.MX6U处理器。这本书旨在帮助开发者理解和掌握在嵌入式环境中如何有效地编写和调试Linux驱动程序,以...
本指南将深入探讨如何对Apache+Tomcat+Linux环境进行优化,以提升服务器性能、减少资源消耗并增强稳定性。 一、Apache优化 1. **配置优化**:调整Apache的配置文件`httpd.conf`,例如,减少`KeepAliveTimeout`以...
《GNU/Linux编程指南(第二版)》是一本深入讲解GNU/Linux环境下编程的权威书籍,旨在帮助读者掌握在Linux操作系统上进行高效开发的技能。这本书涵盖了从基础到高级的各种主题,对于初学者和经验丰富的开发者来说,...
linux服务器 优化
《正点原子》I.MX6U嵌入式Linux驱动开发指南是一本专注于嵌入式系统中Linux驱动程序开发的专业书籍。I.MX6U是NXP(原飞思卡尔)公司推出的一款高性能、低功耗的ARM Cortex-A9处理器,广泛应用于各种嵌入式设备和...
《Linux网管指南4》是...综上所述,《Linux网管指南4》是为那些依赖modem接入互联网的Linux系统管理员提供的重要资源,它涵盖了从基本的串行设备配置到复杂的通信协议设置,帮助用户优化网络连接并提升网络管理效率。
《Linux操作系统管理指南》 Linux操作系统,作为一款开源、免费的操作系统,因其稳定性和灵活性而深受全球技术社区的青睐。本指南将深入探讨Linux系统的结构与原理,以及基础的系统管理技巧,帮助读者掌握在Linux...
### Linux基本优化指南 #### 一、概述 在IT领域,Linux因其稳定性和安全性而备受推崇,成为服务器操作系统中的首选之一。然而,即使是这样优秀的操作系统,也需要适当的优化才能发挥其最大效能。本文将从系统配置...
### Linux启动时间优化 在现代计算环境中,系统启动速度对于用户体验和系统性能至关重要。本文将深入探讨如何优化Linux系统的启动时间,并提供一...希望本文提供的指南能够帮助读者有效地优化Linux系统的启动时间。