自己動手提高ubuntu系統的效能(EXT3)

來源:互聯網
上載者:User
修改個人使用者佈建

  在核心設定層面之上,還有很多個人使用者配置的參數,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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.