CLI에서 사람이 읽을 수있는 시스템 메모리 읽기? 얻습니다 . printf -v system_memory \

OS X에서는 다음과 같이 사람이 읽을 수있는 멋진 시스템 메모리 읽기를 얻습니다 .

printf -v system_memory \
          "$(system_profiler SPHardwareDataType \
             | awk -F ': ' '/^ +Memory: /{print $2}')"
echo "$system_memory"

친절한 인쇄합니다 :

4 GB

Linux에서는 이것이 정확하지만 :

lshw -class memory

출력 :

size: 4096MiB

고통스럽게 구문 분석하고 위의 문자열처럼 멋지게 만들어야합니다.

잘못된 명령을 사용하고 있습니까?



답변

그게 전부라면 다음을 사용하십시오 free.

$ free -h | gawk  '/Mem:/{print $2}'
7.8G

free메모리 정보를 반환하고 -h스위치는 사람이 읽을 수있는 형식으로 인쇄하도록 지시합니다.


답변

리눅스에서는

read x memtotal x < /proc/meminfo

총 mem 양 $memory을 kiB 수로 저장합니다 . Linux에서 사용할 수있는 메모리 양은로보고 된 것과 동일합니다 free.

설치된 RAM을 원한다면 다음과 같이 할 수 있습니다.

awk '{s+=$0};END{print s}' /sys/bus/mc*/devices/dimm*/size

MiB의 크기를 얻으려면. 또는

awk '{s+=$0};END{printf "%.2gG\n", s/1024}' /sys/bus/mc*/devices/dimm*/size

GiB 크기를 원한다면.


답변

가장 간단한 방법은 자유 명령을 사용하는 것입니다

free -gh