在內(nèi)核設(shè)置層面之上,還有很多個(gè)人用戶配置的參數(shù),ulimit命令就是bash下提供的,查看對(duì)指定應(yīng)用的限制值的工具。你可以通過(guò)ulimit –a命令顯示當(dāng)前設(shè)置:
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
上面的信息什么意思?舉個(gè)例子,
open files (-n) 1024
表示一個(gè)用戶shell最多可以打開(kāi)1024個(gè)文件,想增加怎么辦?ulimit -n num即可。
core file size (blocks, -c) 0
表示core dumps功能關(guān)閉。想打開(kāi)怎么辦?ulimit -c num即可。
如果你只是普通身份用戶,則只能對(duì)數(shù)值進(jìn)行減少的修改。如果想增加數(shù)值,需要用root權(quán)限修改。而且,一些參數(shù)的上限是和內(nèi)核參數(shù)對(duì)應(yīng)的,比如你可以增加打開(kāi)文件句柄的數(shù)目,但數(shù)目的最大值不能超過(guò)內(nèi)核參數(shù)fs.file-max設(shè)置的值(sysctl fs.file-max看看)。
好吧,我知道這招有些冒險(xiǎn),但是確實(shí)很有作用。為了避免一些朋友在使用后出問(wèn)題又無(wú)法解決,我在后面也附上了問(wèn)題解決方法。
我們知道,無(wú)論是Ext3還是ReiserFS,都有三種日志方式:
1) Journal Data Writeback
2) Journal Data Ordered
3) Journal Data
三者的不同點(diǎn),簡(jiǎn)單得說(shuō)就是實(shí)際數(shù)據(jù)被寫入文件系統(tǒng)以及相關(guān)日志的時(shí)間不同。默認(rèn)系統(tǒng)采用的是Journal Data Ordered方式。如果采用Journal Data Writeback方式,能夠有效提高系統(tǒng)速度,只不過(guò)這是有代價(jià)的:一旦系統(tǒng)崩潰,在通過(guò)日志恢復(fù)后,你可能只能得到一些舊的數(shù)據(jù),而不是最新數(shù)據(jù)。所以,在修改前,請(qǐng)三思,如果你是對(duì)當(dāng)前工作進(jìn)度的備份要求非常苛刻的人,最好不要使用這個(gè)辦法。
那么,接下來(lái)就介紹一些具體的修改辦法,首先, 如果你是Ext3系統(tǒng),需要進(jìn)行以下步驟,否則可能在重新啟動(dòng)時(shí)出錯(cuò):
sudo tune2fs -o journal_data_writeback /dev/hda1
這是人工在重啟之前把文件系統(tǒng)設(shè)置為writeback模式。用下面這個(gè)命令來(lái)確認(rèn)是否得到了執(zhí)行:
sudo tune2fs -l /dev/hda1
千萬(wàn)注意,ReiserFS文件系統(tǒng)不用這樣。
然后sudo vim /etc/fstab,在你的root分區(qū)mount屬性中增加
data=writeback
這一句,使其看起來(lái)是這樣的:
/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
這樣的話,即使升級(jí)內(nèi)核,增加的標(biāo)志也會(huì)保持,不會(huì)被覆蓋。最后運(yùn)行sudo update-grub即可。
ok,再提醒一句,這樣做是比較冒險(xiǎn)的。我知道你很有冒險(xiǎn)心理,所以一旦重新啟動(dòng)出問(wèn)題時(shí),請(qǐng)用一下方法解決:
將系統(tǒng)重新啟動(dòng)到恢復(fù)模式下,在命令行下輸入
mount -o remount,rw /dev/sdXX/
這個(gè)sdXX就是你的硬盤分區(qū),這樣就允許你修改硬盤上的fstab和menu.lst文件,將改變還原,然后在正確的系統(tǒng)中再去思考到底哪里出了問(wèn)題。
1. 上面已經(jīng)介紹,/etc/init.d/下面的都是啟動(dòng)腳本,默認(rèn)這些腳本是按順序啟動(dòng)的,實(shí)際上,如果你使用的是SATA 或SCSI,可以并行啟動(dòng)這些腳本程序,加速啟動(dòng)過(guò)程。而如果你的機(jī)器配置較老,則最好還是不要修改。修改方法是通過(guò)命令
sudo vim /etc/init.d/rc
找到并修改該行:
CONCURRENCY=none
為:
CONCURRENCY=shell
2. 長(zhǎng)期使用 Ubuntu 后有一種感覺(jué),那就是在 GNOME 中啟動(dòng)應(yīng)用程序時(shí),速度越來(lái)越慢。在 Ubuntu 英文論壇那邊看到一個(gè)技巧,可以對(duì)這個(gè)問(wèn)題起到改善作用。打開(kāi) /etc/hosts 文件,可以看到類似下面的內(nèi)容:
127.0.0.1 localhost
127.0.1.1 windstorm
現(xiàn)在,只需在第一行的末尾加上主機(jī)名即可
127.0.0.1 localhost windstorm
127.0.1.1 windstorm
保存后,重啟系統(tǒng),更改生效。
3. Pango是一個(gè)著重于國(guó)際化的,用于輸出和文本渲染的庫(kù),但是這個(gè)庫(kù)可能導(dǎo)致firefox等一些程序有著過(guò)高的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
新聞熱點(diǎn)
疑難解答