Thursday, October 30, 2008

如何增加Linux 底下的 file descriptors

通常在Linux底下的file descriptors(socket)限制1024個。當如果有一天你的系統慢慢人數增加,你會發現你所可開啟的file descriptor(socket)會不夠用,這樣就不可能再繼續執行下去了。

那要如何擴充呢??如果我要擴充到60000個socket該怎麼作?

1.
首先先查看你系統的限制

#cat /proc/sys/fs/file-max
1024

讀出來的就是你系統上的限制。

2.
接下來就是要修改系統的上限,如果沒有就加上底下那行。
#vi /etc/sysctl.conf
fs.file-max = 60000

3.
存檔後,再執行底下的指令,就會針對你所修改的而改變。

#sysctl -p /etc/sysctl.conf

4.修改你系統的__FD_SETSIZE 裡面的數值,找出系統這兩個檔案。並搜尋__FD_SETSIZE
/usr/include/bits/types.h
/usr/include/linux/posix_types.h

將__FD_SETSIZE 的值改成60000 修改後存檔離開。

往後你的程式會include這幾個檔案,並將你的File Descriptor擴充到60000。

5. 修改/etc/security/limits.conf,這個檔案是可以限制Linux上的使用者,那些可以使用超過1024,
在這裡,我讓大家都可以使用到60000。當然,你也可以限定某一組帳號使用。

#vi /etc/security/limits.conf

* soft nofile 60000
* hard nofile 60000

存檔離開。

大致上就是這樣


Thursday, October 16, 2008

UNICODE convert UTF-8

最近工作上需要UNICODE跟UTF-8的轉換內碼。在網路上搜尋了一個網站,真的還不錯用!!
http://rishida.net/scripts/uniview/conversion.php
只要輸入你需要的文字,不管是中文還是韓文,他都可以show出那個文字的Unicode的代碼,還有其他像UTF-8的內碼。

或者你知道Unicode的內碼,藉由這個網站你也可以知道這個代碼是代表什麼字。