# 리눅스에서 RAM과 CPU 사용량 줄이는 방법

> Clean Markdown view of GeekNews topic #20867. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=20867](https://news.hada.io/topic?id=20867)
- GeekNews Markdown: [https://news.hada.io/topic/20867.md](https://news.hada.io/topic/20867.md)
- Type: news
- Author: [baeba](https://news.hada.io/@baeba)
- Published: 2025-05-13T09:54:00+09:00
- Updated: 2025-05-13T09:54:00+09:00
- Original source: [tecmint.com](https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/)
- Points: 27
- Comments: 6

## Summary

리눅스에서 **top, htop, ps** 같은 도구를 사용하여 리소스를 많이 사용하는 프로세스를 확인하고, **kill, pkill** 명령으로 불필요한 프로세스를 종료할 수 있습니다. **systemctl**과 같은 도구로 자동 실행 서비스를 최적화하며, **swappiness** 값을 조정하여 메모리 활용을 향상할 수 있습니다. 또한 **경량화 데스크탑 환경**이나 **ZRAM**을 활용해 전체 자원 사용량을 줄이고, **cpulimit**과 **systemd** 속성으로 프로세스별 CPU 사용률을 제한할 수 있습니다. 정기적인 **시스템 업데이트**는 성능과 안정성 유지에 필수적입니다.

## Topic Body

리눅스는 효율적인 OS이지만 RAM과 CPU 과다 사용은 성능 저하와 시스템 불안을 야기할 수 있다.  
이 글에서는 모니터링 도구, 프로세스 관리, 커널 조정 등 실질적인 최적화 방법을 설명한다.  
  
---  
  
##### 1. 리소스를 많이 사용하는 프로세스 찾기  
  
`top`, `htop`, `ps` 명령어를 사용해 CPU 및 메모리 사용량이 높은 프로세스를 확인한다.  
PID를 기억해 후속 조치에 활용한다.  
  
```bash  
# top  
top          # P: CPU 정렬, M: 메모리 정렬  
  
# htop 설치 및 실행  
sudo apt install htop  
htop         # F6: 정렬, F9: 종료  
  
# ps 명령어  
ps aux --sort=-%mem | head  
ps aux --sort=-%cpu | head  
```  
  
---  
  
##### 2. 불필요한 프로세스 종료  
  
`kill`, `kill -9`, `pkill` 명령어로 리소스를 과다 사용하는 프로세스를 종료할 수 있다.  
응답 없는 프로세스는 강제 종료하거나 이름으로 일괄 종료한다.  
  
```bash  
kill PID  
kill -9 PID  
pkill process_name  
```  
  
---  
  
##### 3. 자동 시작 프로그램 최적화  
  
`systemctl`로 부팅 시 자동 실행되는 서비스를 확인하고 불필요한 항목은 비활성화한다.  
GUI 환경에서는 시작 응용 프로그램 관리자를 사용할 수 있다.  
  
```bash  
systemctl list-unit-files --type=service | grep enabled  
sudo systemctl disable 서비스이름  
```  
  
---  
  
##### 4. 스와피니스 조절  
  
스와피니스(swappiness)는 스왑 메모리 사용 빈도를 조절하는 설정이다.  
기본값 60에서 10으로 낮추면 RAM 활용이 우선시되어 성능 향상에 도움이 된다.  
  
```bash  
cat /proc/sys/vm/swappiness  
sudo nano /etc/sysctl.conf  # vm.swappiness=10 추가  
sudo sysctl -p  
```  
  
---  
  
##### 5. 경량화된 데스크탑 환경 사용  
  
GNOME, KDE 대신 XFCE, LXDE, MATE 같은 가벼운 데스크탑 환경을 사용하면 리소스 절약이 가능하다.  
앱도 마찬가지로 가벼운 에디터, 브라우저, 파일 관리자로 대체할 수 있다.  
  
---  
  
##### 6. 캐시 및 버퍼 수동 정리  
  
리눅스는 성능 향상을 위해 RAM을 캐시로 사용하지만 필요 시 수동 정리도 가능하다.  
다만 일시적 성능 저하가 있을 수 있으므로 주의가 필요하다.  
  
```bash  
sudo sync; sudo sysctl -w vm.drop_caches=3  
```  
  
---  
  
##### 7. 커널 파라미터 최적화  
  
디스크 쓰기 빈도나 RAM 최소 확보량 등의 커널 파라미터를 수정해 자원 관리를 효율화할 수 있다.  
  
```bash  
# /etc/sysctl.conf 내 추가 항목 예시  
vm.dirty_background_ratio=5  
vm.dirty_ratio=10  
vm.min_free_kbytes=65536  
kernel.sched_autogroup_enabled=0  
```  
  
---  
  
##### 8. ZRAM 사용  
  
ZRAM은 메모리를 압축해 사용하는 기능으로 RAM 절약에 효과적이다.  
Zswap도 함께 설정하면 압축 기반 스왑이 활성화된다.  
  
```bash  
sudo apt install zram-config  
sudo systemctl start zram-config  
  
# GRUB 설정 추가  
sudo nano /etc/default/grub  
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"  
sudo update-grub  
sudo reboot  
```  
  
---  
  
##### 9. 프로세스 CPU 사용률 제한  
  
`cpulimit` 명령어를 통해 특정 프로세스의 CPU 사용률을 제한할 수 있다.  
`systemd` 설정을 이용해 영구 제한도 가능하다.  
  
```bash  
sudo apt install cpulimit  
sudo cpulimit -e firefox -l 30  # firefox를 30%로 제한  
  
# systemd로 설정  
sudo systemctl set-property 서비스이름 CPUQuota=30%  
```  
  
---  
  
##### 10. 시스템 정기 업데이트  
  
최신 업데이트는 성능 개선과 버그 수정에 도움이 되므로 정기적으로 수행해야 한다.  
  
```bash  
sudo apt update && sudo apt upgrade    # Debian/Ubuntu  
sudo yum update                        # RHEL/CentOS  
```

## Comments



### Comment 38627

- Author: guesswhat
- Created: 2025-05-14T00:14:44+09:00
- Points: 1

Asahi Linux 에서는 zswap을 쓰고 zram을 비활성화 합니다  
https://web.archive.org/web/20241126234212/https://social.treehouse.systems/@marcan/113528611033546817  
https://social.treehouse.systems/@AsahiLinux/113532720695827142

### Comment 38584

- Author: wls52
- Created: 2025-05-13T14:46:54+09:00
- Points: 1

zram의 경우 처음 알았는데 어떤 단점이 있을까 싶어서 qwq:32b에 물어봤습니다  
  
왜 Linux 배포판이 기본적으로 zram을 활성화하지 않을까?  
  
현대 시스템의 메모리 부족 문제가 줄어들었기 때문: 현재 대부분의 PC는 4GB 이상의 RAM을 기본으로 탑재합니다. 메모리 부족 문제가 적은 환경에서는 zram의 필요성이 낮습니다.  
  
CPU 부하 리스크: zram은 CPU 사용량을 증가시킬 수 있으므로, 모든 하드웨어에 안전하지 않습니다.  
배포판은 "일반적인 환경"을 우선시하므로, zram의 CPU 오버헤드를 감수할 가치가 있다고 보기 어려울 수 있습니다.  
  
스왑의 기본 사용 방식 변화: SSD의 보급으로 전통적인 스왑 디스크의 속도가 크게 향상되었습니다.  
zram의 속도 장점이 과거보다 상대적으로 덜 두드러집니다.  
  
사용자 환경의 다양성: zram은 **특정 환경(예: 저사양 장치)** 에서만 효과적이며, 일반 사용자에게는 별다른 이점이 없습니다.  
배포판은 "최소 설정으로 최대 호환성"을 추구하므로, zram을 기본 활성화하지 않습니다.  
  
설정의 복잡성: zram의 크기, 압축 알고리즘 등을 수동으로 조정해야 최적화되며, 일반 사용자가 이를 이해하는 데 어려움이 있습니다.

### Comment 38614

- Author: secret3056
- Created: 2025-05-13T17:37:52+09:00
- Points: 1
- Parent comment: 38584
- Depth: 1

mac os에서도 메모리 압축은 적극적으로 사용되고 있습니다.  
  
> 왜 Linux 배포판이 기본적으로 zram을 활성화하지 않을까?  
  
페도라 33, 오픈수세는 Aeon부터 ZRAM을 _기본적으로_ 활성화 합니다.  
항상 벤치마크가 먼저지만, 생각보다는 쓸만할 수 있습니다.

### Comment 38603

- Author: hoonix
- Created: 2025-05-13T16:47:11+09:00
- Points: 1
- Parent comment: 38584
- Depth: 1

zswap 쓸만합니다. macos에서는 유사한 기능이 기본 활성화 옵션이기도 하고요. 랩탑같이 제한적인 리소스 환경에서 브라우저 띄우거나 앱을 많이 띄우는 경우 잘 동작합니다. 다만 언급하신 것처럼 CPU 트레이드 오프가 있어서 배터리에는 영향을 주겠네요.

### Comment 38605

- Author: fanotify
- Created: 2025-05-13T16:51:41+09:00
- Points: 1
- Parent comment: 38603
- Depth: 2

zram이랑 zswap이랑 다른 건가요?  
`sudo apt install zram-tools`  
`systemctl enable zramswap`  
이렇게 해서 쓰는데 zswap이라는게 이거인지 모르겠네요..

### Comment 38607

- Author: hoonix
- Created: 2025-05-13T17:00:18+09:00
- Points: 1
- Parent comment: 38605
- Depth: 3

기술 이름이 상당히 헷갈립니다. zram은 커널 기능으로, 자동 압축 기능을 가진 블럭 디바이스, 그러니까 일종의 스토리지를 만들어주는 기능을 합니다. 그리고 그 스토리지 위에 우리가 아는 일반적인 swap 파일을 생성하고 사용하면, 그게 일종의 RAM-based swap + compression 기능을 갖추게 되는거죠. zramswap 서비스가 그런 역할을 해주는 것처럼 보이네요. 그런데, 추후에 이 사례가 유용하다고 생각이 되어서, zram+swap이 통째로 커널 기능으로 통합됩니다. 그 zswap입니다. zswap은 대다수의 리눅스에서 별도 설치 없이 명령어만으로 활성화 할 수 있습니다. (참조 https://wiki.archlinux.org/title/Zswap)
