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