一種基于Linux系統(tǒng)開關(guān)機(jī)下內(nèi)存監(jiān)測實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明公開一種內(nèi)存監(jiān)測實現(xiàn)方法,屬于內(nèi)存監(jiān)測技術(shù)領(lǐng)域,具體地說是一種基于Linux系統(tǒng)開關(guān)機(jī)下內(nèi)存監(jiān)測實現(xiàn)方法。
【背景技術(shù)】
[0002]眾所周知,服務(wù)器是整個網(wǎng)絡(luò)系統(tǒng)和計算平臺的核心,許多重要的數(shù)據(jù)都保存在服務(wù)器上,很多網(wǎng)絡(luò)服務(wù)都在服務(wù)器上運(yùn)行,因此服務(wù)器性能的好壞決定了整個應(yīng)用系統(tǒng)的性能。不同種類的服務(wù)器有很多種,用戶在選購時,僅僅從配置上判別是不夠的,需要通過實際測試來篩選。目前服務(wù)器整機(jī)穩(wěn)定性測試中,開關(guān)機(jī)壓力測試必不可少,而當(dāng)前Iinux系統(tǒng)下的開關(guān)機(jī)測試只能通過手動設(shè)置,單一進(jìn)行開關(guān)機(jī)壓力測試,開關(guān)機(jī)過程可能會出現(xiàn)內(nèi)存丟失,多次開關(guān)機(jī)之后內(nèi)存無法恢復(fù)正常的現(xiàn)象。而且高端服務(wù)器搭配Iinux系統(tǒng)使用,一些高端服務(wù)器的內(nèi)存容量比較大,需要在開關(guān)機(jī)壓力測試中進(jìn)行計數(shù),對內(nèi)存是否丟失進(jìn)行檢測,手動設(shè)置缺乏對這方面的監(jiān)測。針對上述問題,本發(fā)明實現(xiàn)了無人值守,自動進(jìn)行開關(guān)機(jī)壓力測試,采用C程序循環(huán)計數(shù)方式,對開關(guān)機(jī)次數(shù)進(jìn)行記錄,同時每次開機(jī)抓取系統(tǒng)內(nèi)存容量,與參考內(nèi)存進(jìn)行比較,實現(xiàn)對內(nèi)存的容量監(jiān)控,對機(jī)器重啟過程中,內(nèi)存的穩(wěn)定性以及整機(jī)穩(wěn)定性進(jìn)行衡量。該測試方法的結(jié)果顯示也較為直觀,能夠明確開關(guān)機(jī)次數(shù),以及每次開關(guān)機(jī)測試時,系統(tǒng)的內(nèi)存是否丟失。該方法簡單有效的測試服務(wù)器的穩(wěn)定性,且適用于目前主流的Iinux操作系統(tǒng),較為實用。
【發(fā)明內(nèi)容】
[0003]本發(fā)明針對基于Linux系統(tǒng),手動設(shè)置服務(wù)器開關(guān)機(jī)下內(nèi)存測試項目單一而且操作不便的問題,提供一種基于Linux系統(tǒng)開關(guān)機(jī)下內(nèi)存監(jiān)測實現(xiàn)方法,適用于目前的Iinux操作系統(tǒng),實現(xiàn)無人值守,自動測試,且實現(xiàn)對測試進(jìn)行計數(shù)以及內(nèi)存容量監(jiān)控,以此來評估測試機(jī)重啟壓力測試中,整機(jī)穩(wěn)定性,為保證機(jī)器在開關(guān)機(jī)過程中,內(nèi)存能夠穩(wěn)定持續(xù)工作,提供參考。
[0004]本發(fā)明提出的具體方案是:
一種基于Linux系統(tǒng)開關(guān)機(jī)下內(nèi)存監(jiān)測實現(xiàn)方法,具體步驟為:
①確保待測主機(jī)安裝了Linux系統(tǒng),使用root用戶登錄,拷貝warmboot腳本到桌面,打開Iinux系統(tǒng)終端程序,將當(dāng)前目錄切換到桌面,執(zhí)行以下操作:#./warmboot.sh - m -max N - time F回車;_m參數(shù)表示執(zhí)行內(nèi)存容量檢測,-max指運(yùn)行次數(shù)為N次,-time指進(jìn)入系統(tǒng)后,間隔F分鐘進(jìn)行重啟操作;
②命令執(zhí)行完成后,/root目錄下會生成warmboot文件夾,文件夾下為warmboot.sh主程序,用于執(zhí)行reboot測試,腳本抓取/proc/meminfo下的內(nèi)存容量作為參考內(nèi)存容量;
③桌面生成RebootResult文件夾,該文件夾下子文件夾記錄內(nèi)存測試情況;
④按照設(shè)定間隔時間,系統(tǒng)重啟;
⑤執(zhí)行./warmboot.sh后,warmboot.sh會在后臺自動運(yùn)行,通過讀取RebootResult/count文件進(jìn)行計數(shù),根據(jù)對/proc/meminfo中內(nèi)存容量的抓取,與參考容量作比較,在運(yùn)行腳本時產(chǎn)生的warmboot.log以及fail, log中予以記錄;
⑥系統(tǒng)自動執(zhí)行重啟設(shè)定的測試次數(shù),直到執(zhí)行完畢。
[0005]所述的步驟⑥后還包括步驟⑦:測試完成后,終端中執(zhí)行rm /root/warmboot/warmboot.sh,并查看/root/Desktop/RebootResult 文件下的 log 文件,若測試 pass,則不會產(chǎn)生fail, log文件,且warmboot.log中顯示所有測試pass ;若出現(xiàn)fail,貝U warmboot.log文件中會有fail記錄,且fail, log中會記錄內(nèi)存丟失情況。
[0006]所述的步驟③中桌面生成RebootResult文件夾,該文件夾中count文件記錄重啟次數(shù),warmboot.log文件記錄重啟時間以及pass或者fail, fail, log文件記錄內(nèi)存丟失情況。
[0007]所述的步驟⑤根據(jù)對/proc/meminfo中內(nèi)存容量的抓取,與參考容量作比較,若內(nèi)存容量相等,貝1J在運(yùn)行腳本時產(chǎn)生的warmboot.log予以記錄;若內(nèi)存容量不相等,則在運(yùn)行腳本時產(chǎn)生的fail, log予以記錄,記錄內(nèi)容包括fail時間,參考內(nèi)存容量以及當(dāng)前測試fail時的內(nèi)存容量。
[0008]本發(fā)明的有益之處是:本發(fā)明方法通過自動進(jìn)行開關(guān)機(jī)壓力測試,采用C程序循環(huán)計數(shù)方式,對開關(guān)機(jī)次數(shù)進(jìn)行記錄,同時每次開機(jī)抓取系統(tǒng)內(nèi)存容量,與參考內(nèi)存容量進(jìn)行比較,實現(xiàn)對內(nèi)存的容量監(jiān)控,對機(jī)器重啟過程中,內(nèi)存的穩(wěn)定性以及整機(jī)穩(wěn)定性進(jìn)行衡量,并且本發(fā)明測試方法的結(jié)果顯示也較為直觀,能夠明確開關(guān)機(jī)次數(shù),以及每次開關(guān)機(jī)測試時,系統(tǒng)的內(nèi)存是否丟失等情況,實現(xiàn)簡單有效的測試服務(wù)器的穩(wěn)定性,適用于目前的Iinux操作系統(tǒng),非常實用,適合推廣應(yīng)用。
【附圖說明】
[0009]圖1測試流程示意圖;
圖2內(nèi)存檢測流程示意圖。
【具體實施方式】
[0010]根據(jù)附圖進(jìn)一步描述本發(fā)明。
[0011]Linux系統(tǒng)下crontab命令用于設(shè)置周期性被執(zhí)行的指令,通過該指令將定時執(zhí)行系統(tǒng)自帶的/sbin/reboot指令到crontab文件,設(shè)置開機(jī)后自動啟動crond服務(wù),并運(yùn)行Iinux系統(tǒng)下定時開關(guān)機(jī)測試。
[0012]腳本開始運(yùn)行時會抓取/p1c/meminfo下的內(nèi)存容量大小作為初始參考,之后進(jìn)行的開關(guān)機(jī)測試中,均以此容量作為參考,開機(jī)之后重新抓取/proc/meminfo下的內(nèi)存容量,與參考容量作比較,若內(nèi)存容量不相等,則會在運(yùn)行腳本時產(chǎn)生的warmboot.log以及fail, log中予以記錄,記錄內(nèi)容包括fail時間,參考內(nèi)存容量以及當(dāng)前測試fail時的內(nèi)存容量。
[0013]通過重啟測試中,通過對內(nèi)存容量的檢測,模擬實際應(yīng)用中系統(tǒng)重啟對內(nèi)存的影響,腳本中添加的內(nèi)存容量檢測部分,可以實現(xiàn)對系統(tǒng)重啟過程中是否會丟失內(nèi)存進(jìn)行測試,保證機(jī)器在開關(guān)機(jī)過程中,內(nèi)存能夠穩(wěn)定持續(xù)工作。
[0014]腳本可以實現(xiàn)自動測試,并且在warmboot.log中記錄每次重啟時間,fail, log中記錄內(nèi)存丟失記錄,cont文件中記錄重啟次數(shù)。執(zhí)行腳本還可以加入系統(tǒng)重啟間隔以及測試次數(shù)參數(shù)。
[0015]具體實施為準(zhǔn)備需要測試的主機(jī),安裝Iinux操作系統(tǒng);
系統(tǒng)安裝完成后,進(jìn)入操作系統(tǒng),使用root用戶登錄;
將warmboot腳本拷貝到桌面;
打開Iinux系統(tǒng)終端程序,將當(dāng)前目錄切換到桌面,執(zhí)行以下操作:
#./warmboot.sh - m - max 100 - time 5 回車
其中_m參數(shù)表示執(zhí)行內(nèi)存容量檢測,-max指運(yùn)行次數(shù)為100次,-time指進(jìn)入系統(tǒng)后,5分鐘進(jìn)行重啟操作。
[0016]命令執(zhí)行完成后,terminal界面下提示:
^creating crontab service...Stopping crond:[ OK ]
Starting crond:[ OK ]
System will reboot in 5 minutes.命令執(zhí)行完成后