リソース調査方法

CPU

CPU使用率

ã€MS-DOSコマンド】
> typeperf
 -sc 実行回数
 -si 実行間隔(秒)
 "\Processor(_Total)\% Processor Time"
 > 出力先

> typeperf -sc 100 -si 60 "\Processor(_Total)\% Processor Time" > test.txt
※70%æœªæº€ã§æ­£å¸¸

ã€å®Ÿè¡Œçµæžœã€‘
※test.txt
"(PDH-CSV 4.0)","\\DESKTOP-ORAH022\Processor(_Total)\% Processor Time"
計測日時 CPU使用率
"05/14/2017 08:27:49.424","4.750564"
"05/14/2017 08:27:54.428","7.587563"
"05/14/2017 08:27:59.437","7.570684"
"05/14/2017 08:28:04.444","3.045124"
"05/14/2017 08:28:09.449","2.588512"
~
終了ã—ã¦ã„ã¾ã™ã€‚ãŠå¾…ã¡ãã ã•ã„…
コマンドã¯ã€æ­£ã—ã完了ã—ã¾ã—ãŸã€‚

ã€Linuxコマンド】
vmstat (実行間隔秒)
-S (å˜ä½)
-n ヘッダを1度ã ã‘表示
-t 時間を出力

Sオプション

å˜ä½ æ„味
k 1,000Byte
K 1,024Byte
m 1,000,000Byte
M 1,048,576Byte

例 $ vmstat 60 -S M -n -t >> vmstat.txt

※vmstat.txt(抜粋)
-cpu- —–timestamp—–
us sy JST
2 1 2017-05-18 23:03:55
0 1 2017-05-18 23:03:58
1 1 2017-05-18 23:04:01
0 1 2017-05-18 23:04:04
0 1 2017-05-18 23:04:07
CPU使用率ï¼us+sy

メモリ

メモリ使用率

ã€å…¨ä½“】
CPU使用率ã¨åŒæ§˜
typeperf "\Memory\Available MBytes"
typeperf "\Memory\Available Bytes"

計測日時 メモリ使用é‡
"(PDH-CSV 4.0)","\\~\Memory\Available MBytes"
"05/19/2017 06:37:29.586","427.000000"
"05/19/2017 06:37:30.586","427.000000"
"05/19/2017 06:37:31.586","426.000000"

ã€ãƒ—ロセスå˜ä½ã€‘
ãƒãƒƒãƒãƒ•ァイルを作æˆã—ã¦å®Ÿè¡Œ
※CTRL+Cã§åœæ­¢ã™ã‚‹ã¾ã§å®Ÿè¡Œç¶™ç¶š

MS-DOSコマンド
※memory.bat
@echo off
:retry

tasklist
フィルタリング(çœç•¥å¯)
/FI (フィルタ)

ping localhost -n 実行間隔(秒) > nul
ping localhost -n 10 > nul

goto retry

ã€å®Ÿè¡Œã€‘
> memory.bat > memory.txt

ã€å®Ÿè¡Œçµæžœã€‘
memory.txt
2017/05/14 8:33:41.53

イメージå PID セッションå セッション# メモリ使用é‡
=== === === === === 
System Idle Process 0 Services 0 4 K
System 4 Services 0 11,036 K
smss.exe 412 Services 0 972 K
csrss.exe 860 Services 0 5,088 K
wininit.exe 960 Services 0 5,440 K
csrss.exe 972 Console 1 13,036 K
~

ãƒãƒƒãƒ ジョブを終了ã—ã¾ã™ã‹ (Y/N)? ãƒãƒƒãƒ ジョブを終了ã—ã¾ã™ã‹ (Y/N)?
2017/05/14 8:33:51.29

繰り返ã—・・・

フィルタリング

フィルターå 内容 使用例
IMAGENAME プロセスå(イメージå) tasklist /FI "imagename eq excel*"
PID プロセスID tasklist /FI "pid eq 1000"
SERVICES プロセスãŒå±žã™ã‚‹ã‚µãƒ¼ãƒ“スå
CPU使用率ã¨åŒæ§˜
例 $ vmstat 60 -S M -n -t >> vmstat.txt

※vmstat.txt(抜粋)
——–memory—- —–timestamp—–
free buff cache JST
421 192 805 2017-05-18 23:03:55
420 192 805 2017-05-18 23:03:58
420 192 805 2017-05-18 23:04:01
420 192 805 2017-05-18 23:04:04
420 192 805 2017-05-18 23:04:07

メモリ使用é‡ï¼free+buff+cache
メモリ使用率ï¼ãƒ¡ãƒ¢ãƒªä½¿ç”¨é‡/メモリç·é‡(↓total)

ã€ãƒ¡ãƒ¢ãƒªæƒ…報】
$ free -m

total used free shared buff/cache available
Mem: 2000 565 886 7 548 1263
Swap: 2045 0 2045

ã€ãƒ¡ãƒ¢ãƒªãƒ•ァイル】
/proc/meminfo

キャッシュクリア

1)ページキャッシュã®ã‚¯ãƒªã‚¢
sysctl -w vm.drop_caches=1

2)ディレクトリエントリ(dentry)ã¨inodeã®ã‚¯ãƒªã‚¢
sysctl -w vm.drop_caches=2

1)ã¨2)
sysctl -w vm.drop_caches=3

ãƒãƒ¼ãƒ‰ãƒ‡ã‚£ã‚¹ã‚¯

ãƒãƒ¼ãƒ‰ãƒ‡ã‚£ã‚¹ã‚¯ä½¿ç”¨é‡

ãƒãƒƒãƒãƒ•ァイルを作æˆã—ã¦å®Ÿè¡Œ
※CTRL+Cã§åœæ­¢ã™ã‚‹ã¾ã§å®Ÿè¡Œç¶™ç¶š

ã€MS-DOSコマンド】
※hd.bat
@echo off
:retry
echo %date% %time%
dir C:\
dir D:\
ping localhost -n 10 > nul
goto retry

ã€å®Ÿè¡Œã€‘
> memory.bat > hd.txt

ã€å®Ÿè¡Œçµæžœã€‘
2017/05/14 17:24:55.05
ドライブ C ã®ãƒœãƒªãƒ¥ãƒ¼ãƒ  ラベル㯠YONE ã§ã™
ボリューム シリアル番å·ã¯ 986B-42B6 ã§ã™

C:\ ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª

2017/05/01 15:06 1,024 .rnd
2017/05/14 10:15 <DIR> Program Files
2017/05/14 10:15 <DIR> Program Files (x86)
2016/12/19 23:39 <DIR> Users
2017/05/10 19:13 <DIR> Windows
~
1 個ã®ãƒ•ァイル 1,024 ãƒã‚¤ãƒˆ
6 個ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª 848,175,714,304 ãƒã‚¤ãƒˆã®ç©ºã領域
ドライブ D ã®ãƒœãƒªãƒ¥ãƒ¼ãƒ  ラベル㯠Data ã§ã™
ボリューム シリアル番å·ã¯ 2C1F-A7F2 ã§ã™

D:\ ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª

2017/05/13 16:18 <DIR> MyData
2017/05/13 05:28 <DIR> MyProject
~
0 個ã®ãƒ•ァイル 0 ãƒã‚¤ãƒˆ
4 個ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª 23,517,810,688 ãƒã‚¤ãƒˆã®ç©ºã領域

繰り返ã—

シェルスクリプトを作æˆã—ã¦å®Ÿè¡Œ
※CTRL+Cã§åœæ­¢ã™ã‚‹ã¾ã§å®Ÿè¡Œç¶™ç¶š

ã€Linuxコマンド】
while [ true ]
do
 date >> hd.txt
 df -h >> hd.txt
 sleep 10
done

ã€å®Ÿè¡Œã€‘
$ sh hd.sh

ã€å®Ÿè¡Œçµæžœã€‘
2017年 5月 15日 月曜日 06:25:25 JST
Filesystem Size Used Avail Use% Mounted on
tmpfs 201M 3.6M 197M 2% /run
/dev/sda1 14G 8.1G 4.9G 63% /
tmpfs 1001M 232K 1000M 1% /dev/shm
MyData 50G 29G 22G 57% /media/sf_MyData

繰り返ã—

ファイルシステム

ファイルシステム情報
$ df -T

inodeã®é ˜åŸŸ
$ df -i

ディレクトリ毎ã®inode使用é‡å‡ºåŠ›
for dir in `ll|grep ^d|grep -v "\./"|awk '{print $9}'`; do echo `find ./$dir -true|wc -l` `pwd`/$dir; done | sort -nr

echo "==== `pwd` ====" ; for i in `ls -1`;do echo -n "## $i ### " ; echo "(`find ./$i -type f |wc -l`)" ;done | sort -r

Follow me!