free명령어는 메모리 사용 상황을 보여주는 명령어로 Mem 행은 "실제 메모리에 대한 상황 "Swap 행은 "스윕파일에 대한 정보"입니다.
<<첫번째 줄>>
8185964 : 메모리(물리적인 RAM)의 총량
8117600 : 시스템에서 사용하고 있는 메모리(RAM)의 총량으로 버퍼와 캐시된 데이터의 크기까지 포함
68364 : 남은 메모리 총량
0 : 공유된 메모리
242508 : 응용 프로그램들에 의해 버퍼된 메모리 총량
3387880 : 향후를 위한 데이터 캐싱에 사용한 메모리 총량
<<두번쨰 줄>>
4487212 : 실제 사용중인 메모리 총량
3698752 : 실제 남은 메모리의 총량
리눅스는 사하고 있지 않은 메모리를 빌려 디스크 캐싱에 사용하기 때문에 메모리 여유공간이 없을 때 특정 프로그램의 메모리 할당을 받으려고하면 즉시 버퍼/캐시가 공간을 빌려 그 응용프로그램에 할당을 해줍니다. 따라서 실제 여유공간은 첫번째 줄의 세번째 값이 아니라 두번째 줄의 두번째 값이 됩니다.
-/+ buffers/cache의 의미
쉽게 말하자면, buffers는 임시저장장소 같은 것으로 파일에 어떤것을 작성하라는 명령이 내려진다면 Linux는 즉시 파일에 데이터를 쓰지 않고 버퍼에 담아두었다가 CPU가 바쁘지 않을 때 쓰게 됩니다.
Cache는 버퍼와 다른 의미로 메모리에서 사용되었던 실행이미지를 잠시동안 보관하고 있는 곳입니다.
Cache가 필요한 이유는 자주 사용하는 프로그램을 빠르게 실행하기 위해서이며, 이렇게 함으로써 실행도 빨라지지만 HDD에 접근하는 횟수도 훨씬 줄어들 수 있습니다
버퍼와 캐시는 모두 데이터 처리를 위한 임시공간이라는 공통점이 있지만, 캐시는 여러 번 사용될 수 있고 버퍼는 한번만 사용되는 차이점이 있습니다.
Shared는 공유메모리로 프로세서, Thread간 통신을 위해서 사용하게 됩니다.
'Linux > CentOS' 카테고리의 다른 글
[CentOS 7] 패스워드 파일 보호 (0) | 2022.07.25 |
---|---|
[CentOS7] 계정 잠금 임계값 설정 (0) | 2022.06.07 |
[CentOS7] 패스워드 복잡성 설정 (0) | 2022.06.03 |
[CentOS7] root 계정 원격 접속 제한 (0) | 2022.06.02 |
주요 정보통신 기반 시설 기술적 취약점 분석(Unix 서버) (0) | 2022.05.30 |