2017-03-04 18 views
3

juliaで現在のシステム情報を取得する良い方法はありますか?(ここで私の使用例はメモリですが、基本的には私がLinux上でtopを実行して取得できる情報に興味があります)。juliaからシステムメモリ情報を取得

これは私が現時点で持っているものです(基本的にはちょうど `自由-m`の出力を得る)< - 私はこれは私がバッククォートをエスケープし、コードの強調表示を維持させるために得ることができない...

import Base.DataFmt: readdlm_string, invalid_dlm 

""" 
    getmeminfo() 
Returns (in MB) A tuple of containing: 
    - Memory(total, used, buffer, available) 
    - Swap(total, used, free) 
""" 
function getmeminfo() 
    memstats = readdlm_string(readstring(`free -m`),invalid_dlm(Char), Int, '\n', true, Dict()) 
    return Tuple{Array{Int,1},Array{Int,1}}((memstats[2,[2;3;6;7]], memstats[3,[2;3;4]])) 
end 

ベースに何か良いアイデアはありますか?

+1

'cat/proc/meminfo'(' free'もUnix特有です)を見ることができます。 –

+0

ああ、 'readdlm("/proc/meminfo ")'ははるかに簡潔です。 .. –

答えて

8

組み込みのSysモジュールには、システム情報の取得専用の関数が含まれています。

julia> Sys.total_memory()/2^20 
15988.84765625 

julia> Sys.free_memory()/2^20 
331.609375 

julia> Sys.cpu_name 
"haswell" 

julia> Sys. 
ARCH    SC_CLK_TCK   cpu_info   loadavg 
CPU_CORES   UV_cpu_info_t  cpu_name   maxrss 
CPUinfo   WINDOWS_VISTA_VER cpu_summary  set_process_title 
JIT    WORD_SIZE   eval    total_memory 
KERNEL   __init__   free_memory  uptime 
MACHINE   _cpu_summary  get_process_title windows_version 

それがtopによって提供された情報のすべてをサポートしていませんが、それがうまくいけば、あなたが探している情報を提供します。

+0

このようなものがなければならないと思った! –

関連する問題