久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      linux系統(tǒng)緩存命中率分析工具

      緩存是現(xiàn)在所有高并發(fā)系統(tǒng)必需的核心模塊,主要作用就是把經(jīng)常訪問的數(shù)據(jù)(也就是熱點數(shù)據(jù)),提前讀入到內(nèi)存中。這樣,下次訪問時就可以直接從內(nèi)存讀取數(shù)據(jù),而不需要經(jīng)過硬盤,從而加快應(yīng)用程序的響應(yīng)速度。

      這些獨立的緩存模塊通常會提供查詢接口,方便我們隨時查看緩存的命中情況。不過 Linux 系統(tǒng)中并沒有直接提供這些接口,所以這里我要介紹一下,cachestat 和 cachetop ,它們正是查看系統(tǒng)緩存命中情況的工具。

      cachestat 提供了整個操作系統(tǒng)緩存的讀寫命中情況。

      cachetop 提供了每個進程的緩存命中情況。

      這兩個工具都是 bcc 軟件包的一部分,它們基于 Linux 內(nèi)核的 eBPF(extended Berkeley Packet Filters)機制,來跟蹤內(nèi)核中管理的緩存,并輸出緩存的使用和命中情況。

      使用 cachestat 和 cachetop 前,我們首先要安裝 bcc 軟件包。比如,在 Ubuntu 系統(tǒng)中,你可以運行下面的命令來安裝:

      sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 4052245BD4284CDDecho "deb https://repo.iovisor.org/apt/xenial xenial main" | sudo tee /etc/apt/sources.list.d/iovisor.listsudo apt-get updatesudo apt-get install -y bcc-tools libbcc-examples linux-headers-$(uname -r)

      注意:bcc-tools需要內(nèi)核版本為4.1或者更新的版本,如果你用的是CentOS,那就需要手動升級內(nèi)核版本后再安裝。

      Centos7安裝bcc-tools第一步,升級內(nèi)核。你可以運行下面的命令來操作:

      升級系統(tǒng)

      yum update -y

      安裝ELRepo

      rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

      安裝新內(nèi)核

      yum remove -y kernel-headers kernel-tools kernel-tools-libsyum –enablerepo="elrepo-kernel" install -y kernel-ml kernel-ml-devel kernel-ml-headers kernel-ml-tools kernel-ml-tools-libs kernel-ml-tools-libs-devel

      更新Grub后重啟

      grub2-mkconfig -o /boot/grub2/grub.cfggrub2-set-default 0reboot

      重啟后確認(rèn)內(nèi)核版本已升級為4.20.0-1.el7.elrepo.x86_64

      uname -r

      第二步,安裝 bcc-tools:

      安裝bcc-tools

      yum install -y bcc-tools

      配置PATH路徑

      export PATH=$PATH:/usr/share/bcc/tools

      驗證安裝成功

      cachestat 操作完這些步驟,bcc 提供的所有工具就都安裝到 /usr/share/bcc/tools 這個目錄中了。不過這里提醒你,bcc 軟件包默認(rèn)不會把這些工具配置到系統(tǒng)的 PATH 路徑中,所以你得自己手動配置:$ export PATH=$PATH:/usr/share/bcc/tools

      配置完,你就可以運行 cachestat 和 cachetop 命令了。比如,下面就是一個 cachestat 的運行界面,它以1秒的時間間隔,輸出了3組緩存統(tǒng)計數(shù)據(jù):

      $ cachestat 1 3TOTAL MISSES HITS DIRTIES BUFFERS_MB CACHED_MB2 0 2 1 17 2792 0 2 1 17 2792 0 2 1 17 279

      你可以看到,cachestat 的輸出其實是一個表格。每行代表一組數(shù)據(jù),而每一列代表不同的緩存統(tǒng)計指標(biāo)。這些指標(biāo)從左到右依次表示:

      TOTAL ,表示總的 I/O 次數(shù);

      MISSES ,表示緩存未命中的次數(shù);

      HITS ,表示緩存命中的次數(shù);

      DIRTIES, 表示新增到緩存中的臟頁數(shù);

      BUFFERS_MB 表示 Buffers 的大小,以 MB 為單位;

      CACHED_MB 表示 Cache 的大小,以 MB 為單位。

      接下來我們再來看一個 cachetop 的運行界面:

      $ cachetop11:58:50 Buffers MB: 258 / Cached MB: 347 / Sort: HITS / Order: ascendingPID UID CMD HITS MISSES DIRTIES READ_HIT% WRITE_HIT%13029 root python 1 0 0 100.0% 0.0%

      它的輸出跟 top 類似,默認(rèn)按照緩存的命中次數(shù)(HITS)排序,展示了每個進程的緩存命中情況。具體到每一個指標(biāo),這里的 HITS、MISSES和DIRTIES ,跟 cachestat 里的含義一樣,分別代表間隔時間內(nèi)的緩存命中次數(shù)、未命中次數(shù)以及新增到緩存中的臟頁數(shù)。

      而 READ_HIT 和 WRITE_HIT ,分別表示讀和寫的緩存命中率。

      指定文件的緩存大小除了緩存的命中率外,還有一個指標(biāo)你可能也會很感興趣,那就是指定文件在內(nèi)存中的緩存大小。你可以使用 pcstat 這個工具,來查看文件在內(nèi)存中的緩存大小以及緩存比例。

      pcstat 是一個基于 Go 語言開發(fā)的工具,所以安裝它之前,你首先應(yīng)該安裝 Go 語言;

      安裝完 Go 語言,再運行下面的命令安裝 pcstat:

      $ export GOPATH=~/go$ export PATH=~/go/bin:$PATH$ go get golang.org/x/sys/unix$ go get github.com/tobert/pcstat/pcstat

      全部安裝完成后,你就可以運行 pcstat 來查看文件的緩存情況了。比如,下面就是一個 pcstat 運行的示例,它展示了 /bin/ls 這個文件的緩存情況:

      $ pcstat /bin/ls+———+—————-+————+———–+———+| Name | Size (bytes) | Pages | Cached | Percent ||———+—————-+————+———–+———|| /bin/ls | 133792 | 33 | 0 | 000.000 |+———+—————-+————+———–+———+這個輸出中,Cached 就是 /bin/ls 在緩存中的大小,而 Percent 則是緩存的百分比。你看到它們都是 0,這說明 /bin/ls 并不在緩存中。

      接著,如果你執(zhí)行一下 ls 命令,再運行相同的命令來查看的話,就會發(fā)現(xiàn) /bin/ls 都在緩存中了:

      $ ls$ pcstat /bin/ls+———+—————-+————+———–+———+| Name | Size (bytes) | Pages | Cached | Percent ||———+—————-+————+———–+———|| /bin/ls | 133792 | 33 | 33 | 100.000 |+———+—————-+————+———–+———+

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號