2017-03-04 5 views
3

줄리아의 현재 시스템 정보를 얻는 좋은 방법이 있습니까 (내 사용 사례는 메모리뿐 아니라 기본적으로 리눅스에 top을 실행할 때 얻을 수있는 정보에 관심이 있습니다). 줄리아의 시스템 메모리 정보 얻기

내가 지금 무엇을 가지고 : < (기본적으로 그냥 무료 -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

리눅스 (아마도 Mac)에서'cat/proc/meminfo' ('free'도 유닉스 특유의 것입니다)를 볼 수 있습니다. –

+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

거기에 이런 것이 있어야한다고 생각했습니다! –