在內核設置層面之上,還有很多個人用戶配置的參數,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
新聞熱點
疑難解答