►index

     スポンサーサイト

    --------

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

     VB.NET WorkingSet メモリ 解放 API

    2013-05-25

    下記Releaseメソッドを発行すると、劇的にWorkingSet メモリを解放してくる。

    タスクマネージャーのメモリ表示はWorkingSet メモリ。

    OutOfMemoryExceptionの解決にはならない様子(^^;) 気分が良くなる魔法っといったところ?(^^;)





    imports System.Runtime.InteropServices

     

    Module MemoryRelease

    <DllImport("KERNEL32.DLL", EntryPoint:="SetProcessWorkingSetSize", _

    SetLastError:=True, CallingConvention:=CallingConvention.StdCall)> _

    Function SetProcessWorkingSetSize(ByVal pProcess As IntPtr, _

    ByVal dwMinimumWorkingSetSize As Integer, _

    ByVal dwMaximumWorkingSetSize As Integer) As Boolean

    End Function

     

     

    <DllImport("KERNEL32.DLL", EntryPoint:="GetCurrentProcess", _

    SetLastError:=True, CallingConvention:=CallingConvention.StdCall)> _

    Function GetCurrentProcess() As IntPtr

    End Function

     

    Sub Release()

    ‘↓劇的にWorking Setメモリを解放してくれる

    Dim pHandle As IntPtr = GetCurrentProcess()

    Call SetProcessWorkingSetSize(pHandle, -1, -1)

    End Sub

    End Module


    トラックバック

    コメントの投稿

    非公開コメント

    PR
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。