コンテンツへスキップ

ファイルの読み込み

# -*- coding:utf-8 -*-
import codecs

FILE="テキストファイル"
f=codecs.open(FILE,'rb','utf-8','')
contents=f.read()
f.close()
for line in contents.split('\n'):
    print(line)

ファイルへ出力

# -*- coding:utf-8 -*-
import codecs

FILE="test.txt"
f=codecs.open(FILE,'wb','utf-8')
f.write("書き込みテスト")
f.close()

 

・メモリ

# Memory Stress test
$maxMemoryUsed = 75 # percentage
while($true){
    $p = Get-WmiObject Win32_OperatingSystem | %{(($_.TotalVisibleMemorySize - $_.FreePhysicalMemory)/$_.TotalVisibleMemorySize) * 100}
    if($p -le $maxMemoryUsed){
        try{
            $a += "m" * 100MB
        } catch [Exception]{
            $b += "m" * 100MB
        }
    }
    write-host("memory used [{0}]" -f $p.toString())
    sleep 1
}

・CPU

while($true){ echo $i;$i++ }

複数powershellを起動(start-process powershell )し上のコマンドを実行する。

・ディスク 1Gバイトのダミーファイルを作成する。

fsutil file createnew testfile (1024*1024*1024)

・stressTest.ps1 作成中
# Memory Stress test
param(
    [parameter(mandatory=$false)][string]$type,
    [parameter(mandatory=$false)][int]$percent,
    [parameter(mandatory=$false)][string]$driveLetter,
    [parameter(mandatory=$false)][string]$dummyFileName = "dummyFile",
    [parameter(mandatory=$false)][switch]$help
)

function memoryTest($percent) {
    while($true){
        $p = Get-WmiObject Win32_OperatingSystem | ForEach-Object {(($_.TotalVisibleMemorySize - $_.FreePhysicalMemory)/$_.TotalVisibleMemorySize) * 100}
        if($p -le $percent){
            try{
                $a += "m" * 100MB
            } catch [Exception]{
                $b += "m" * 100MB
            }
        }
        write-host("memory used [{0}]" -f $p.toString())
        sleep 1
    }
}

function cpuTest($percent){
    while($true){
        $newestJobId = ""
        $p = (Get-WmiObject Win32_PerfFormattedData_PerfOS_Processor | where-object name -eq "_Total").PercentProcessorTime
        if($p -le $percent){
            Start-Job -ScriptBlock {
                write-host($i)
                $i++
            } | Out-Null
            $job = "Start-job"
            sleep 1
        } else {
            $id =(get-job).id
            $newestJobId=$id[-1]
            stop-job $newestJobId
            $job = "Stop-job"
            
        }
        write-host("cpu used [{0}]%, [{1}] {2}" -f $p, $job, $newestJobId)
    }
}

function diskCapacity($percent,$driveLetter){
    $dummyFilePath = join-path ($driveLetter + ":\") $dummyFileName
    fsutil file createnew $dummyFilePath (1024*1024*1024)
}

function usage(){
    write-host("usage:")
    write-host("stressTest.ps1")
    write-host("    -type memory -percent %")
    write-host("    -type cpu -percent %")
    write-host("    -type diskCapacity -percent % -driveLetter (c|d|e...)")
}

if(($type -eq "memory") -And ($percent)){
    memoryTest $percent
} elseif(($type -eq "cpu") -And ($percent)){
    cpuTest $percent
} elseif(($type -eq "diskCapacity") -And ($driveLetter -ne "") -And ($percent)){
    diskCapacity $percent $driveLetter
} elseif($help){
    usage
} else {
    usage
}

 

アクティブになっている電源設定の確認

PS E:\> powercfg /list

既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (バランス)
電源設定の GUID: 92aa4406-3cbf-471d-bb08-1fdc071fb5c2  (UMA Mode) *
電源設定の GUID: c2a836a6-020a-41ff-85b2-ed779d969fcd  (カスタム プラン 1)

電源設定の確認

PS E:\> powercfg /q
電源設定の GUID: 92aa4406-3cbf-471d-bb08-1fdc071fb5c2  (UMA Mode)
  サブグループの GUID: 0012ee47-9041-4b5d-9b77-535fba8b1442  (ハード ディスク)
    GUID エイリアス: SUB_DISK
    電源設定の GUID: 6738e2c4-e8a5-4a42-b16a-e040e769756e  (次の時間が経過後ハード ディスクの電源を切る)
      GUID エイリアス: DISKIDLE
      利用可能な設定の最小値: 0x00000000
      利用可能な設定の最大値: 0xffffffff
      利用可能な設定の増分: 0x00000001
      利用可能な設定の単位: 秒
    現在の AC 電源設定のインデックス: 0x000004b0
    現在の DC 電源設定のインデックス: 0x0000012c

~以下省略~

アクティブをバランスに設定

PS E:\> powercfg -setactive SCHEME_BALANCED

アクティブをUMAに設定

powercfg -setactive ((powercfg /list | select-string UMA) -split " ")[2]