自己动手提高ubuntu系统的性能(EXT3)

简介: 修改个人用户设置   在内核设置层面之上,还有很多个人用户配置的参数,ulimit命令就是bash下提供的,查看对指定应用的限制值的工具。你可以通过ulimit –a命令显示当前设置: core file size (blocks, -c) 0data seg size ...

修改个人用户设置

  在内核设置层面之上,还有很多个人用户配置的参数,ulimit命令就是bash下提供的,查看对指定应用的限制值的工具。你可以通过ulimit –a命令显示当前设置:

core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) unlimited
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

  上面的信息什么意思?举个例子,

open files (-n) 1024

  表示一个用户shell最多可以打开1024个文件,想增加怎么办?ulimit -n num即可。

core file size (blocks, -c) 0

  表示core dumps功能关闭。想打开怎么办?ulimit -c num即可。
如果你只是普通身份用户,则只能对数值进行减少的修改。如果想增加数值,需要用root权限修改。而且,一些参数的上限是和内核参数对应的,比如你可以增加打开文件句柄的数目,但数目的最大值不能超过内核参数fs.file-max设置的值(sysctl fs.file-max看看)。

修改日志数据

  好吧,我知道这招有些冒险,但是确实很有作用。为了避免一些朋友在使用后出问题又无法解决,我在后面也附上了问题解决方法。

  我们知道,无论是Ext3还是ReiserFS,都有三种日志方式:

1) Journal Data Writeback
2) Journal Data Ordered
3) Journal Data

  三者的不同点,简单得说就是实际数据被写入文件系统以及相关日志的时间不同。默认系统采用的是Journal Data Ordered方式。如果采用Journal Data Writeback方式,能够有效提高系统速度,只不过这是有代价的:一旦系统崩溃,在通过日志恢复后,你可能只能得到一些旧的数据,而不是最新数据。所以,在修改前,请三思,如果你是对当前工作进度的备份要求非常苛刻的人,最好不要使用这个办法。

  那么,接下来就介绍一些具体的修改办法,首先, 如果你是Ext3系统,需要进行以下步骤,否则可能在重新启动时出错:

sudo tune2fs -o journal_data_writeback /dev/hda1

  这是人工在重启之前把文件系统设置为writeback模式。用下面这个命令来确认是否得到了执行:

sudo tune2fs -l /dev/hda1

  千万注意,ReiserFS文件系统不用这样。

  然后sudo vim /etc/fstab,在你的root分区mount属性中增加

data=writeback

  这一句,使其看起来是这样的:

/dev/hda1 / ext3 defaults,errors=remount-ro,atime,auto,rw,dev,exec,suid,nouser,data=writeback 0 1

  保存,然后sudo vim /boot/grub/menu.lst,在下面两行加上粗体属性:

# defoptions=quiet splash rootflags=data=writeback
# altoptions=(recovery mode) single rootflags=data=writeback

  这样的话,即使升级内核,增加的标志也会保持,不会被覆盖。最后运行sudo update-grub即可。

  ok,再提醒一句,这样做是比较冒险的。我知道你很有冒险心理,所以一旦重新启动出问题时,请用一下方法解决:
将系统重新启动到恢复模式下,在命令行下输入

mount -o remount,rw /dev/sdXX/

  这个sdXX就是你的硬盘分区,这样就允许你修改硬盘上的fstab和menu.lst文件,将改变还原,然后在正确的系统中再去思考到底哪里出了问题。

杂项

  1. 上面已经介绍,/etc/init.d/下面的都是启动脚本,默认这些脚本是按顺序启动的,实际上,如果你使用的是SATA 或SCSI,可以并行启动这些脚本程序,加速启动过程。而如果你的机器配置较老,则最好还是不要修改。修改方法是通过命令

sudo vim /etc/init.d/rc

找到并修改该行:
CONCURRENCY=none
为:
CONCURRENCY=shell

  2. 长期使用 Ubuntu 后有一种感觉,那就是在 GNOME 中启动应用程序时,速度越来越慢。在 Ubuntu 英文论坛那边看到一个技巧,可以对这个问题起到改善作用。打开 /etc/hosts 文件,可以看到类似下面的内容:

127.0.0.1 localhost
127.0.1.1 windstorm

  现在,只需在第一行的末尾加上主机名即可

127.0.0.1 localhost windstorm
127.0.1.1 windstorm

  保存后,重启系统,更改生效。

  3. Pango是一个着重于国际化的,用于输出和文本渲染的库,但是这个库可能导致firefox等一些程序有着过高的cpu占用资源。我们可以

sudo vim /etc/environment

  然后在其中添加:
MOZ_DISABLE_PANGO=”1″

  这样就可以禁用Pango了。

参考文章:
1. Hacking Ubuntu to Improve Performance
2. HOWTO: Tweak your ext3 filesystem for a performance boost

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
4月前
|
Ubuntu Linux 开发者
Ubuntu 系统默认主题 Yaru 有望获得新的垃圾箱图标
目前,设计师仍在接受其他贡献者的反馈,因此到目前为止制作的图标不确保一定会出现在 Ubuntu 中。值得注意的是,一些评论者表示他们喜欢现有的垃圾桶图标,并希望它不要改变。
|
4月前
|
存储 Ubuntu Linux
「正点原子Linux连载」第二章Ubuntu系统入门
在图2.8.2.4中,我们使用命令umount卸载了U盘,卸载以后当我们再去访问文件夹/mnt/tmp的时候发现里面没有任何文件了,说明我们卸载成功了。
|
2月前
|
Ubuntu 编译器 开发工具
在Ubuntu系统上搭建RISC-V交叉编译环境
以上步骤涵盖了在Ubuntu系统上搭建RISC-V交叉编译环境的主要过程。这一过程涉及了安装依赖、克隆源码、编译安装工具链以及设置环境变量等关键步骤。遵循这些步骤,可以在Ubuntu系统上搭建一个用于RISC-V开发的强大工具集。
261 22
|
2月前
|
Ubuntu 网络协议 网络安全
解决Ubuntu系统的网络连接问题
以上步骤通常可以帮助解决大多数Ubuntu系统的网络连接问题。如果问题仍然存在,可能需要更深入的诊断,或考虑联系网络管理员或专业技术人员。
596 18
|
3月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
298 18
|
3月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
310 15
|
3月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
205 14
|
3月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
351 2
|
4月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
244 13