两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種SmartRack系統(tǒng)性能測(cè)試內(nèi)存優(yōu)化的方法與流程

文檔序號(hào):11154691閱讀:643來源:國(guó)知局

本發(fā)明涉及Smart Rack及內(nèi)存領(lǐng)域,尤其涉及一種Smart Rack系統(tǒng)性能測(cè)試內(nèi)存優(yōu)化的方法。



背景技術(shù):

Smart Rack系統(tǒng)內(nèi)存管理機(jī)制分為物理內(nèi)存和虛擬內(nèi)存,物理內(nèi)存就是系統(tǒng)硬件提供的內(nèi)存大小,是真正的內(nèi)存,相對(duì)于物理內(nèi)存,在系統(tǒng)下還有一個(gè)虛擬內(nèi)存的概念,虛擬內(nèi)存就是為了滿足物理內(nèi)存的不足而提出的策略,它是利用磁盤空間虛擬出的一塊邏輯內(nèi)存,用作虛擬內(nèi)存的磁盤空間被稱為交換空間(Swap Space)。作為物理內(nèi)存的擴(kuò)展,系統(tǒng)會(huì)在物理內(nèi)存不足時(shí),使用交換分區(qū)的虛擬內(nèi)存,更詳細(xì)的說,就是內(nèi)核會(huì)將暫時(shí)不用的內(nèi)存塊信息寫到交換空間,這樣以來,物理內(nèi)存得到了釋放,這塊內(nèi)存就可以用于其它目的,當(dāng)需要用到原始的內(nèi)容時(shí),這些信息會(huì)被重新從交換空間讀入物理內(nèi)存。系統(tǒng)的內(nèi)存管理采取的是分頁(yè)存取機(jī)制,為了保證物理內(nèi)存能得到充分的利用,內(nèi)核會(huì)在適當(dāng)?shù)臅r(shí)候?qū)⑽锢韮?nèi)存中不經(jīng)常使用的數(shù)據(jù)塊自動(dòng)交換到虛擬內(nèi)存中,而將經(jīng)常使用的信息保留到物理內(nèi)存。系統(tǒng)會(huì)不時(shí)的進(jìn)行頁(yè)面交換操作,以保持盡可能多的空閑物理內(nèi)存,即使并沒有什么事情需要內(nèi)存,系統(tǒng)也會(huì)交換出暫時(shí)不用的內(nèi)存頁(yè)面。這可以避免等待交換所需的時(shí)間。

系統(tǒng)進(jìn)行頁(yè)面交換是有條件的,不是所有頁(yè)面在不用時(shí)都交換到虛擬內(nèi)存,系統(tǒng)內(nèi)核根據(jù)”最近最經(jīng)常使用“算法,僅僅將一些不經(jīng)常使用的頁(yè)面文件交換到虛擬內(nèi)存,一個(gè)占用很大內(nèi)存的進(jìn)程運(yùn)行時(shí),需要耗費(fèi)很多內(nèi)存資源,此時(shí)就會(huì)有一些不常用頁(yè)面文件被交換到虛擬內(nèi)存中,但后來這個(gè)占用很多內(nèi)存資源的進(jìn)程結(jié)束并釋放了很多內(nèi)存時(shí),剛才被交換出去的頁(yè)面 文件并不會(huì)自動(dòng)的交換進(jìn)物理內(nèi)存,除非有這個(gè)必要,那么此刻系統(tǒng)物理內(nèi)存就會(huì)空閑很多,同時(shí)交換空間也在被使用。

交換空間的頁(yè)面在使用時(shí)會(huì)首先被交換到物理內(nèi)存,如果此時(shí)沒有足夠的物理內(nèi)存來容納這些頁(yè) 面,它們又會(huì)被馬上交換出去,如此以來,虛擬內(nèi)存中可能沒有足夠空間來存儲(chǔ)這些交換頁(yè)面,最終會(huì)導(dǎo)致系統(tǒng)出現(xiàn)假死機(jī)、服務(wù)異常等問題,系統(tǒng)雖然可以在一段時(shí)間內(nèi)自行恢復(fù),但是恢復(fù)后的系統(tǒng)已經(jīng)基本不可用了。因此合理規(guī)劃和設(shè)計(jì)Smart Rack內(nèi)存的使用,是非常重要的。

在Smart Rack性能測(cè)試時(shí),往往是多個(gè)壓力工具同時(shí)進(jìn)行壓測(cè),往往會(huì)遇到上面的問題,其中DD進(jìn)行硬盤壓測(cè)會(huì)消耗掉幾乎所有的內(nèi)存資源,造成其他任務(wù)內(nèi)存資源不足出現(xiàn)任務(wù)執(zhí)行慢甚至測(cè)試停止的事件發(fā)生。



技術(shù)實(shí)現(xiàn)要素:

為了解決以上問題,本發(fā)明提出了一種Smart Rack系統(tǒng)性能測(cè)試內(nèi)存優(yōu)化的方法。

Smart Rack系統(tǒng)性能測(cè)試內(nèi)存優(yōu)化主要通過定期規(guī)律的偵測(cè)并釋放和通過調(diào)低內(nèi)存占用大的DD進(jìn)程的優(yōu)先級(jí)完成內(nèi)存釋放。

本發(fā)明的技術(shù)方案是:

1、在執(zhí)行DD時(shí)每間隔30秒完成一次內(nèi)存釋放。

在執(zhí)行硬盤DD讀寫時(shí)每間隔30秒完成一次內(nèi)存釋放,通過定期規(guī)律的偵測(cè)并釋放從而避免內(nèi)存過多被磁盤消耗導(dǎo)致內(nèi)存資源不足,在后臺(tái)執(zhí)行yesdd測(cè)試的時(shí)候,使用for 循環(huán)定時(shí)(每次執(zhí)行完畢sleep約30秒)執(zhí)行以下兩條命令即可釋放內(nèi)存。

sync #把內(nèi)存中的緩存寫入硬盤,保證清理內(nèi)存不丟失重要數(shù)據(jù)

echo 1 > /proc/sys/vm/drop_caches #釋放內(nèi)存

具體腳本如下:

for ((i=0; i<2880; ++i)) do sync echo 1 > /proc/sys/vm/drop_caches

Sleep 30 done

2、調(diào)低內(nèi)存占用大的進(jìn)程的優(yōu)先級(jí)完成內(nèi)存釋放。

通過調(diào)低內(nèi)存占用大的DD進(jìn)程的優(yōu)先級(jí)完成內(nèi)存釋放,由renice 完成DD磁盤讀寫的系統(tǒng)進(jìn)程優(yōu)先等級(jí)的調(diào)低,通過系統(tǒng)核心調(diào)度完成資源有效利用和內(nèi)存的釋放。 #renice +10 `ps aux | awk ’{ if ($3 > 0.8 && id -u $1 > 500) print $2}’`其中用到ps獲取進(jìn)程信息,其實(shí)ps中%CPU一列的意義是進(jìn)程實(shí)際占有CPU時(shí)間和他存活時(shí)間的比值,這個(gè)值能反應(yīng)進(jìn)程對(duì)CPU的消耗,但不能準(zhǔn)確反應(yīng) 進(jìn)程所占CPU時(shí)間占整個(gè)系統(tǒng)CPU的百分比。而top輸出中的%CPU這一列正是進(jìn)程所占CPU時(shí)間占整個(gè)系統(tǒng)CPU的百分比,用于限制進(jìn)程CPU占用 率更加合理,同時(shí)%MEM一列還反應(yīng)了進(jìn)程占用內(nèi)存的百分比,能夠用于限制進(jìn)程內(nèi)存占用率。具體腳本如下:#!/bin/shPIDS=`top -bn 1 | grep "^ *[1-9]" | awk ’{ if($9 > 50 || $10 > 25 && id -u $2 > 500) print $1}’` for PID in $PIDS do renice +10 $PID echo "renice +10 $PID" done 將腳本放到cron中運(yùn)行,每分鐘檢查一次,調(diào)整占用50%以上CPU或25%內(nèi)存的進(jìn)程的nice值,從而使這樣的進(jìn)程優(yōu)先級(jí)變低被系統(tǒng)調(diào)度而釋放內(nèi)存,同時(shí)會(huì)向root發(fā)郵件提示該進(jìn)程被調(diào)整過。#crontab -e * * * * * limit.sh

本發(fā)明的有益效果是:

測(cè)試內(nèi)存優(yōu)化,在性能測(cè)試時(shí)多個(gè)壓力工具同時(shí)進(jìn)行壓測(cè),避免了DD進(jìn)行硬盤壓測(cè)消耗掉幾乎所有的內(nèi)存資源,造成其他任務(wù)內(nèi)存資源不足出現(xiàn)任務(wù)執(zhí)行慢甚至測(cè)試停止的事件發(fā)生,大大提升了Smart Rack系統(tǒng)性能測(cè)試效率及均衡性。

具體實(shí)施方式

下面對(duì)本發(fā)明的內(nèi)容進(jìn)行更加詳細(xì)的闡述:

Smart Rack系統(tǒng)性能測(cè)試內(nèi)存優(yōu)化的方法包括兩大方面,主要通過定期規(guī)律的偵測(cè)并釋放和通過調(diào)低內(nèi)存占用大的DD進(jìn)程的優(yōu)先級(jí)完成內(nèi)存釋放。

首先,在執(zhí)行硬盤DD讀寫時(shí)每間隔30秒完成一次內(nèi)存釋放,通過定期規(guī)律的偵測(cè)并釋放從而避免內(nèi)存過多被磁盤消耗導(dǎo)致內(nèi)存資源不足,使用for 循環(huán)定時(shí)執(zhí)行同步操作sync和內(nèi)存釋放命令echo 1 > /proc/sys/vm/drop_caches。

其次,通過調(diào)低內(nèi)存占用大的DD進(jìn)程的優(yōu)先級(jí)完成內(nèi)存釋放,由renice 完成DD磁盤讀寫的系統(tǒng)進(jìn)程優(yōu)先等級(jí)的調(diào)低,通過系統(tǒng)核心調(diào)度完成資源有效利用和內(nèi)存的釋放。通過在cron中運(yùn)行,每分鐘檢查一次,調(diào)整占用50%以上CPU或25%內(nèi)存的進(jìn)程的nice值,從而使進(jìn)程優(yōu)先級(jí)變低而被系統(tǒng)調(diào)度釋放內(nèi)存。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
称多县| 洪江市| 织金县| 祥云县| 南郑县| 双桥区| 灵宝市| 扎兰屯市| 区。| 汶川县| 会同县| 吉木乃县| 屏东市| 托里县| 龙口市| 连江县| 舟曲县| 巴东县| 略阳县| 南城县| 丹棱县| 台东市| 永川市| 原平市| 长海县| 扎鲁特旗| 邯郸县| 白朗县| 洪雅县| 临武县| 鹿邑县| 衢州市| 德庆县| 乾安县| 独山县| 本溪市| 丹江口市| 新化县| 孟州市| 叶城县| 万安县|