1. 程式人生 > >Linux系統-IO調優

Linux系統-IO調優

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調優