『壹』 linux 鍛戒護琛 緙撳啿鍖哄お灝忔庝箞鍔
浣犲ソ錛屾牴鎹銆妉inux灝辮ヨ繖涔堝︺嬭繖鏈涔﹂噷鍏充簬history鍛戒護鐨勮茶В錛岀粰鍑轟笅鍒楄В閲婏細
鎺у埗鍘嗗彶鍛戒護璁板綍鐨勪釜鏁幫細
export HISTSIZE=1000 璁劇疆鍐呭瓨涓鐨刪istory鍛戒護鐨勪釜鏁
export HISTFILESIZE=1000 璁劇疆鏂囦歡涓鐨刪istory鍛戒護鐨勪釜鏁
淇鏀硅繖涓涓や釜鍙傛暟鍗沖彲鏀瑰彉鍛戒護琛岀紦鍐插尯鐨勫ぇ灝 錛屽傛灉榪樻槸鏈変笉鏄庣櫧鐨勫湴鏂瑰彲浠ョ湅鐪嬫垜涓婇潰鎻愬埌鐨勯偅鏈涔︾睄錛岃茬殑寰堣︾粏錛屽笇鏈涘逛綘鏈夊府鍔╋紒
『貳』 linux如何修改音頻播放緩沖區
debian是點右上角的喇叭,audio mixer->output device->advanced,latency offset修改延遲緩沖的毫秒數,因為用到audiciy修飾音頻一般調整在10-20ms,各大linux發行版本默認硬體緩沖128block可支持一般播放,ac97或者realtek本身硬體支持asio自帶緩存。
『叄』 修改linux系統socket緩沖區大小
進行socket編程有時候可能需要修改下socket的接收緩沖區大小,這里可以使用 setsockopt 函數,但是如果需要修改的緩沖區很大(比如500MB),則還需要修改系統內核的TCP/IP參數,不然接收緩沖區大小會收到內核參數的限制,所以需要改兩個地方。下面以把socket接收緩沖區修改為500MB說明一下要作的修改。《Linux就該這么學》
修改內核TCP/IP參數
在終端用sysctl命令修改socket最大緩沖區限制:
sudo sysctl -w net.core.rmem_max=5242880001
在代碼中用setsockopt函數修改SO_RCVBUF選項
int recvbuff = 500*1024*1024;
if(setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, (const char*)&recvbuff, sizeof(int)) == -1)
printf("setsocket error
");
else
printf("setsocket success
");12345
以上兩點,只改第1點,一個socket只會預留63個報文的接收緩沖;只改第2點,緩沖區大小會受到rmem_max的限制,如果需要的緩沖區很大的話,必須兩點都改。
『肆』 請教Linux關於UDP最大緩沖區設置
1. tcp 收發緩沖區默認值
[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem
4096 87380 4161536
87380 :tcp接收緩沖區的默認值
[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_wmem
4096 16384 4161536
16384 : tcp 發送緩沖區的默認值
2. tcp 或udp收發緩沖區最大值
[root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_max
131071
131071:tcp 或 udp 接收緩沖區最大可設置值的一半。
也就是說調用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 時rcv_size 如果超過 131071,那麼
getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等於 131071 * 2 = 262142
[root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_max
131071
131071:tcp 或 udp 發送緩沖區最大可設置值得一半。
跟上面同一個道理
3. udp收發緩沖區默認值
[root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_default
111616:udp接收緩沖區的默認值
[root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_default
111616
111616:udp發送緩沖區的默認值
4. tcp 或udp收發緩沖區最小值
tcp 或udp接收緩沖區的最小值為 256 bytes,由內核的宏決定;
tcp 或udp發送緩沖區的最小值為 2048 bytes,由內核的宏決定
『伍』 請教Linux關於UDP最大緩沖區設置
1. tcp 收發緩沖區默認值 [root@ ]# cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 4161536 87380 :tcp接收緩沖區的默認值 [root@ ]# cat /proc/sys/net/ipv4/tcp_wmem 4096 16384 4161536 16384 : tcp 發送緩沖區的默認值 2. tcp 或udp收發緩沖區最大值 [root@ ]# cat /proc/sys/net/core/rmem_max 131071 131071:tcp 或 udp 接收緩沖區最大可設置值的一半。 也就是說調用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 時rcv_size 如果超過 131071,那麼 getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等於 131071 * 2 = 262142 [root@ ]# cat /proc/sys/net/core/wmem_max 131071 131071:tcp 或 udp 發送緩沖區最大可設置值得一半。 跟上面同一個道理 3. udp收發緩沖區默認值 [root@ ]# cat /proc/sys/net/core/rmem_default 111616:udp接收緩沖區的默認值 [root@ ]# cat /proc/sys/net/core/wmem_default 111616 111616:udp發送緩沖區的默認值 4. tcp 或udp收發緩沖區最小值 tcp 或udp接收緩沖區的最小值為 256 bytes,由內核的宏決定; tcp 或udp發送緩沖區的最小值為 2048 bytes,由內核的宏決定