Linux系統-IO調優
阿新 • • 發佈:2018-09-21
1.3 kdump -i 緩存 重新登錄 分享 limits virtual centos
本文源鏈接地址:https:www.93bok.com
一、設置一個進程可以打開的文件數
A、查看:ulimit –n
從上邊可以看出,一個進程最大只能打開1024個文件,我們來測試一下,用2000個客戶端訪問nginx頁面2000次,看看會報什麽錯誤
yum -y install httpd-tools
ab -n 2000 -c 2000 http://192.168.10.22/index.html
B、修改限制,優化:
vim /etc/security/limits.conf * soft nofile 32768 * hard nofile 65535
註意:soft軟限制是一個警告值,而hard硬限制則是一個真正意義的閾值,超過就會報錯。soft一定要比hard小。
C、生效
方法一:永久生效
重啟或者退出重新登錄
方法二:臨時生效
ulimit -n 65535
二、設置一個用戶可以最多打開的進程數
A、修改:
vim /etc/security/limits.d/90-nproc.conf
註意:這是在centos6下,centos7為/etc/security/limits.d/20-nproc.conf
* soft nproc 32768
* hard nproc 65535
B、查看
ulimit –u
C、生效
方法一:永久生效
重啟或者退出重新登錄
方法二:臨時生效
ulimit -u 65535
D、ulimit -a 查看所有限制值
參數詳解:
1)core file size #kdump轉儲功能打開後產生的core file大小限制 2)data seg size #數據段大小限制 3)file size #文件大小限制 4)open files #打開的文件個數限制 5)pipe size #管道大小的限制 6)POSIX message queues #消息隊列大小 7)stack size #棧(zhan)大小 8)cpu time #CPU時間使用限制 9)max user processes #用戶打開最大進程限制 10)virtual memory #虛擬內存限制
三、測試硬盤速度
測試硬盤寫速度命令:dd
在使用前首先了解兩個特殊設備:
A、/dev/null 偽設備,回收站,寫該文件不會產生IO開銷
B、/dev/zero 偽設備,會產生空字符流,讀該文件不會產生IO開銷
dd if=/dev/zero of=/a.txt bs=8k count=300000
生成2.5G的一個文件,IO寫的速度約為99MB/s,這個速度可以多測試幾遍取一個平均值,符合概率統計
time #執行命令並計時
time dd if=/dev/zero of=/a.txt bs=8k count=300000
註釋:
1) 實際時間(real time):從command命令行開始執行到運行終止的消逝時間
2) 用戶CPU時間(user CPU time):命令執行完成話費的用戶CPU時間,即命令在用戶態中執行時間總和
3) 系統CPU時間(system CPU time):命令執行完成花費的系統CPU時間,即命令在核心態中執行時間總和
其中,用戶CPU時間和系統CPU時間之和為CPU時間,即命令占用CPU執行的時間總和。實際時間要大於CPU時間,因為Linux是多任務操作系統,往往在執行一條命令時,系統還要處理其它任務。
另一個需要註意的問題是即使每次執行相同命令,但所花費的時間也是不一樣,其花費時間是與系統運行相關的。
測試硬盤讀速度命令:hdparm
安裝yum -y install hdparm
hdparm -T -t /dev/sda
註釋:
Timing cached reads: 18142 MB in 2.00 seconds = 9081.38 MB/sec
#2秒鐘直接從內存的cache讀取數據18142MB。平均9081.38MB/sec
Timing buffered disk reads: 570 MB in 3.01 seconds = 189.61 MB/sec
#3.01秒鐘從硬盤緩存中讀570MB。平均189.61MB/sec
參數:
-t #不使用預先的數據緩沖,標示了Linux下沒有任何文件系統開銷時磁盤可以支持多塊的連續數據讀取
-T #直接從內存的cache讀取數據的速度。實際上顯示出被測系統的處理器緩存和內存的吞吐量
Linux系統-IO調優