リソース調査方法
目次
CPU
CPU使用率
> 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"
~
終了ã—ã¦ã„ã¾ã™ã€‚ãŠå¾…ã¡ãã ã•ã„…
コマンドã¯ã€æ£ã—ã完了ã—ã¾ã—ãŸã€‚
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 | プãƒã‚»ã‚¹ãŒå±žã™ã‚‹ã‚µãƒ¼ãƒ“スå |
例 $ 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
ã‚ャッシュクリア
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