• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Solaris性能監控的Swap空間管理

    發布: 2008-10-06 10:45 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 242次 | 進入軟件測試論壇討論

    領測軟件測試網

    隨著電子商務如火如荼的開展,網站服務器的性能變得尤其重要。一旦服務器的能力不能滿足用戶的需要,就會對用戶的服務大打折扣,那么就需要對服務器進行升級擴容。但是,有些時候只需對服務器進行一些適當的性能調整,便可以越過性能的瓶頸,大大提高服務器的吞吐能力,從而減少服務器升級的費用。

    本文介紹了在Solaris平臺上Swap(交換)空間的基本概念、實現的原理以及對Swap(交換)空間進行監控的方法和調整的策略。

    什么是SWAP(交換)空間

    對于一般的Solaris系統管理員來說,很少會接觸Swap(交換)空間,在他們看來Swap區只不過是磁盤上的一兩個分區或是幾個Swap(交換)文件,當系統沒有足夠的物理內存來處理當前進程的時候,就利用Swap(交換)空間作為虛擬內存的臨時存儲空間,這種說法從技術角度來說是沒有錯的,但Solaris在實現Swap時有其非常獨特的地方。

    SWAP空間作用

    眾所周知,現代操作系統都實現了“虛擬內存”這一技術,不但在功能上突破了物理內存的限制,使程序可以操縱大于實際物理內存的空間,更重要的是“虛擬內存”是隔離每個進程的安全保護網,使每個進程不受其他程序的干擾。

    Swap空間的作用可簡單描述為:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復保存的數據到內存中。這樣,系統總是在物理內存不夠時,才進行Swap交換。這種現象對于計算機使用者是經常遇到的。

    有一點要聲明的是,并不是所有從物理內存中交換出來的數據都會被放到Swap中(如果這樣的話,Swap會不堪重負),有相當一部分的數據直接交換到文件系統。例如,有的程序會打開一些文件,對文件進行讀寫(其實每個程序都至少打開一個文件,那就是運行程序本身),當這些程序的內存空間需要交換出去時,文件部分的數據就沒有必要放到Swap空間中了,如果是讀文件操作,那么內存數據直接就釋放了,不需要交換出來,因為下次需要時,直接從文件系統就能恢復;如果是寫文件,只需要將變化的數據保存到文件中,以便恢復。但是那些用malloc(3C)和new函數生成的對象的數據則不同,需要Swap空間,因為它們在文件系統中沒有相應的“儲備”文件,因此被稱為“匿名”(Anonymous)的內存數據,這類數據還包括堆棧中的一些狀態和變量數據等,所以說,Swap空間是“匿名”數據的交換空間。

    Swap的配置對性能的影響

    太多的Swap空間會浪費磁盤的空間,而太少的Swap空間,系統則會發生錯誤。

    如果系統的物理內存用光了,你的系統就會跑得慢,但仍能運行;如果Swap空間用光了,那么系統就會發生錯誤。例如,Web服務器能根據不同的請求數量衍生出多個服務進程(或線程),如果Swap空間用完,則服務進程無法進動,通常會出現"application is out of memory"的錯誤,嚴重時會造成服務進程的死鎖。因此Swap空間的分配是很重要的。

    通常情況下,Swap空間應大于或等于物理內存的大小,最小不應小于64M,通常Swap空間的大小應是物理內存的2-2.5倍(Solaris 2以上的版本有所變化,見下文)。但根據不同的應用,應有不同的配置:如果是小的桌面系統,只需要較小的Swap空間,而大的服務器系統則視情況不同需要不同大小的Swap空間。特別是數據庫服務器和Web服務器會隨著訪問量的增加,對Swap 空間的要求也會增加,具體配置參見各自服務器產品的說明。

    另外,Swap分區的數量對性能也有很大的影響。因為Swap交換的操作是磁盤I/O的操作,如果有多個Swap交換區,Swap空間的分配會以輪流的方式操作于所有的Swap,這樣會大大均衡I/O的負載,加快Swap交換的速度。如果只有一個交換區,所有的交換操作會使交換區變得很忙,使系統大多數時間位于等待狀態,效率很低,用性能監視工具就會發現,此時的CPU并不很忙,而系統卻慢,這說明,瓶頸在I/O上,依靠提高CPU的速度是解決不了問題的。

    性能監視

    Swap空間的分配固然很重要,而系統在運行時的性能監控卻更加有價值,通過性能監視工具可以檢查系統的各項性能指標,找到系統性能的瓶頸。本文只介紹一下在Solaris下和Swap相關的一些命令和用途。

    最常用的是Vmstat命令,在大多數Unix平臺下都有此命令,此命令可以查看大多數性能的指標。

    另外使用swap -s 也能簡單的查看當前swap資源的使用情況。例如:

    # swap -s

    total: 65896k bytes allocated + 56840k reserved = 122736k used,   1069456k available

    能夠方便的看出swap空間的已用和未用資源的大小。應該使Swap保持30%的負載以下,才能保證系統的良好性能。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: snooker Solaris Swap 性能

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>