1. 程式人生 > >linux核心調優基本方法

linux核心調優基本方法

Linux核心調優

網路

調整linux核心引數以便滿足高併發訪問,解決大量time_wait佔用太多本地埠導致的Cannot assign requested address 問題。

客戶端與服務端每建立一個連線,客戶端一側都會佔用一個本地埠(假設沒有啟用SO_REUSEADDR選項),本地埠數量是有限制的(預設是net.ipv4.ip_local_port_range=32768 61000),也就是說在沒設定socket的SO_REUSEADDR選項時,一臺Linux伺服器作為客戶端注意是作為客戶端)預設只能建立大概3萬個TCP連線(服務端沒有這個限制),可以更改net.ipv4.ip_local_port_range

增大作為客戶端可發起的併發連線數,但最多不會超過65535個(服務端沒有這個限制)。

當Linux伺服器作為客戶端頻繁建立TCP短連線時,本地會可能會產生很多TIME_WAIT狀態的連線,客戶端側的TIME_WAIT狀態的連線會佔用一個本地埠直到達到2MSL(最長分解生命期)的時間,這樣會導致本地埠被暫時佔用,當短連線建立速度過快時(例如做壓測時),會導致Cannot assign requested address錯誤,解決辦法有幾種,比如像下面這樣設定埠複用(複用TIME_WAIT狀態的連線)。

開啟檔案 /etc/sysctl.conf,增加以下設定

net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

執行 sysctl -p即可生效

說明:

/etc/sysctl.conf 可設定的選項很多,其它選項可以根據自己的環境需要進行設定

開啟檔案數

設定系統開啟檔案數設定,解決高併發下 too many open files 問題。此選項直接影響單個程序容納的客戶端連線數。

Soft open files 是Linux系統引數,影響系統單個程序能夠開啟最大的檔案控制代碼數量,這個值會影響到長連結應用如聊天中單個程序能夠維持的使用者連線數, 執行ulimit -n能看到這個引數值,如果是1024,就是代表單個程序只能同時最多隻能維持1024甚至更少(因為有其它檔案的控制代碼被開啟)。如果開啟4個程序維持使用者連結,那麼整個應用能夠同時維持的連線數不會超過4*1024個,也就是說最多隻能支援4x1024個使用者線上可以增大這個設定以便服務能夠維持更多的TCP連線。

Soft open files 修改方法:

(1)ulimit -HSn 102400

這只是在當前終端有效,退出之後,open files 又變為預設值。

(2)將ulimit -HSn 102400寫到/etc/profile中,這樣每次登入終端時,都會自動執行/etc/profile。

(3)令修改open files的數值永久生效,則必須修改配置檔案:/etc/security/limits.conf. 在這個檔案後加上:

* soft nofile 1024000
* hard nofile 1024000
root soft nofile 1024000
root hard nofile 1024000

這種方法需要重啟機器才能生效。

相關推薦

linux核心調基本方法

Linux核心調優 網路 調整linux核心引數以便滿足高併發訪問,解決大量time_wait佔用太多本地埠導致的Cannot assign requested address 問題。 客戶端與服務端每建立一個連線,客戶端一側都會佔用一個本地埠(假設沒有啟用SO_REUSE

Linux核心調部分引數說明

#接收套接字緩衝區大小的預設值(以位元組為單位)。 net.core.rmem_default = 262144 #接收套接字緩衝區大小的最大值(以位元組為單位)。 net.core.rmem_max = 16777216 #傳送套接字緩衝區大小的預設值(以位元組為單

Linux核心調之Sysctl研究

    sysctl 是一個用來在系統運作中檢視及調整系統引數的工具,它包含一些 TCP/IP 堆疊和虛擬記憶體系統的高階選項, 這可以讓有經驗的管理員提高引人注目的系統 效能。用sysctl可以讀取設定超過五百個系統變數。基於這點,sysctl(8) 提供兩個功能:讀取和修改系統設定。有的 sysctl 引

大戰C100K之4-Linux核心調

http://joyexpr.com/2013/11/22/c100k-4-kernel-tuning/ 早期的系統,系統資源包括CPU、記憶體等都是非常有限的,系統為了保持公平,預設要限制程序對資源的使用情況。由於Linux的預設核心配置無法滿足C100K的要求,因此

Linux核心之GDB基本除錯方法

Oops[#1]:Cpu 0$ 0   : 00000000 10008d00 00000000 ffffffea$ 4   : fffffdfd 10008d01 00000001 00000000$ 8   : 00000000 7fed2e40 00001cb2 00000b3b$12   : 0003

Linux伺服器核心調

Linux核心引數net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連線,預設為0,表示關閉;net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連線中TIME-

visualvm工具遠端對linux服務斷的JVM虛擬機器進行監控與調方法

文/朱季謙   最近在做了一些JVM監控與調優的事情,算是第一次實踐,還比較陌生,故而先把這一次經驗簡單記下筆記,這樣,對後面學習調優方面時,不至於又想不起來了。本文件主要總結在window本地環境遠端對linux服務斷的JVM虛擬機器進行監控與調優的方法。 visualvm工具是JDK自帶的,在j

linux 系統調

security linux 用戶 1,用戶最大進程數配置 Centos5環境修改/etc/security/limits.conf文件 Centos6環境修改/etc/security/limits.d/90-nproc.conf文件 [email protected]/* */:

Linux系統調相關工具

應用 磁盤讀寫 系統 相關 系統調優 網絡 運行 work lin 系統調優4大子系統 實戰1:找出系統中使用CPU最多的進程? 實戰2:找出系統中使用內存最多的進程? 實戰3:找出系統中對磁盤讀寫最多的進程? 實戰4:找出系統中使用網絡最多的進程? 系統調

linux ulimit 調

程序 all 參數 resource light set per sources 服務器 概要:linux系統默認open files數目為1024, 有時應用程序會報Too many open files的錯誤,是因為open files 數目不夠。這就需要修改uli

最新最全linux系統調指南(centos7.X)

password aci mode als login userdel -m ESS 分區 linux系統調優指南(centos7.X) 歡迎關註我最新博客地址:https://owelinux.github.io/ 關閉不必要的服務(如打印服務等) for owelinu

linux系統調及安全設置

com sel linu 關閉防火墻 warnings profile 服務器 processes lang (1)關閉SELinux功能 它是美國安全局(NSA)對於強制訪問控制的實現,我們需要把它關閉這也是生產環境的做法。 [root@linzhongniao ~]#s

SQL調常用方法

dex acl 查找 全表掃描 隱式類型 提升 輸入 使用 語句 在使用DBMS時經常對系統的性能有非常高的要求:不能占用過多的系統內存和 CPU資源、要盡可能快的完成的數據庫操作、要有盡可能高的系統吞吐量。如果系統開發出來不能滿足要求的所有性能指標,則必須對系統進行調整,

Tomcat生產效能調方法

Tomcat企業級生產效能調優 7個方式: 1.增加JVM堆記憶體大小 : 通過增加JVM的棧記憶體實現,使JVM通常不去呼叫垃圾回收器,所以伺服器可以更多關注處理web請求,並要求儘快完成。 2.修復JRE記憶體洩漏 :tomcat 提供一個監聽器來處理JRE和PermGen的記憶

Linux安全調1:CentOS防火墻的設置與優化

2.6 裝載 協議棧 先後 sys ip協議 ive 實現 被拒 CentOS防火墻的設置與優化 時間:2014-09-11 02:11來源:blog.csdn.net 作者:成長的小蟲 的BLOG 舉報 點擊:4908次 一、設置主機防火墻。 開放: 服務器的:we

Linux效能調指南

在很久以前,就對效能調優有非常濃厚的興趣。雖然之前也在做過一些效能調優的工作,但是主要集中在程式碼層面,以及業務層面。對如何從Linux作業系統方面進行調優,一直都沒有一個清晰的認識。不過,最近偶然發現了一本IBM出的Linux調優指南,於是就拜讀了一下。 讀完一些之後,就發現這本書確實就是我所

GC調二:調基本概念

一、核心概念   首先,我們來觀察一條工廠的生產線,該生產線主要用於將自行車各個元件拼裝成一輛完整的自行車。通過觀察我們發現一輛自行車從車架上生產線開始裝配,直到拼裝成完整自行車後下線的整個耗時為4小時,如下圖所示。                並且,我

Spark調基本策略

1. RDD的持久化 cahce() persist() checkpoint() 2. 避免建立重複的RDD 儘可能複用同一個RDD,類似於多個RDD的資料有重疊或者包含的情況,應該儘量複用一個RDD,以儘可能減少RDD的數量,從而減少運算

Linux伺服器調(主要sysctl和ulinit和nginx)

安裝一臺新的Linux伺服器之後都要做些配置調整工作,優化一下系統,以前零零碎碎記錄過一些,這裡集中整理一下。 Linux核心引數 http://space.itpub.net/17283404/viewspace-694350 net.ipv4.tcp_syncoo

Shell應用(6): TCP核心調與轉儲設定

1#! /bin/bash 2# ktcpopt 34sed -i '/net.ipv4.tcp_syncookies\|net.ipv4.tcp_tw_reuse\|net.ipv4.tcp_tw_recycle\|net.ipv4.tcp_fin_timeout\|net.ipv4.tcp_max_syn