좀 엉뚱한 질문인데요... usb메모리를 ram처럼 사용할 수는 없나요?

제 노트북이 램 1Gb를 사용하다보니
버추얼 박스를 돌릴 때마다 숨이 멎는 것같이 답답하답니다.
그런데 오늘 아침 문득 이런 엉뚱한 생각이 나는 겁니다.
집에 남아도는 USB메모리를 RAM처럼 사용할 수는 없을까?
정말 엉뚱하죠?

그런데 … 만약 그렇게만 된다면 얼마나 좋을까요?

제 짧은 소견으로는… 그런게 바로 리눅스 swap 영역처럼, 하드디스크를 램의 대용(?)으로 사용하는 기술인 듯 싶습니다. ㅋ
일단 USB는 RAM과는 다른 특성을 가진 저장장치이므로…
감히 결코 안될거라는 생각을 해봅니다. ㅎㅎ

더 자세한 답변은 ↓ 분께서 ;;

윗분 ↑ 댓글과 같은 안된다는 생각 입니다.
스왑램(가상램=swap)으로는 지정/사용 가능하나 , [b:3k5yc5iz]일반 램으로는 사용 불가[/b:3k5yc5iz]하다고 느껴집니다.
그러나 램 디스크로 사용은 가능하다 보여 집니다. (usb가 그리 빠르지 않기에 성능 향상은 별로 일듯 하며
저도 좀 더 전문적 답변을 기다려 봅니다. :?

음… 일단 가능은 합니다.
다만 RAM만큼의 속도는 바랄 수 없고, 하드디스크에 쓰는 스왑 영역을 USB로 옮긴다/확장한다 정도의 느낌입니다…만

그래도 하드디스크 하나에서 입력/출력/스왑 다 처리하게 하는것보단 어느정도 속도의 향상을 바랄 수는 있습니다.
다만, 정말 램 대용으로 USB캐싱을 하실 생각이라면 좀 전송량이 좋은 녀석을 쓰시는걸 추천합니다. 그래도 램값보단 싸긴 할거에요.

일단 간단히 개요를 설명하자면
USB메모리를 스왑파티션으로 포맷하고 swapon으로 마운트시키는겁니다.

  1. USB를 꽂아주세요. 그럼 우분투가 띠링~ 하며 인식합니다.
  2. USB드라이브의 마운트를 해제합니다. (요즘은 보통 sdb1로 잡히죠?)

[code:16u1mblp]~/$sudo umount /dev/sdb1[/code:16u1mblp]
3. USB를 스왑파티션으로 포맷합니다.

[code:16u1mblp]~/$sudo mkswap /dev/sdb1[/code:16u1mblp]

[code:16u1mblp]
이 내용과 아무런 상관도 없습니다. 저는 무슨 정신으로 이걸 넣어뒀던걸까요.... (머엉)
지적해주신 레타라슈님 감사합니다.
-p 옵션은 priority라는 옵션으로 용량과는 아무런 상관이 없습니다.
priority는 스왑파티션의 우선순위를 정하는 것으로 범위는 [0-32767]까지 존재합니다.
숫자는 높을수록 우선순위를 높게 잡습니다.

4. USB드라이브의 정확한 용량을 알아야 합니다. (예시입니다.)
[code]
~/$df /dev/sdb1
/dev/sdb1 32767 1024 31743
[/code]
5. 차례대로 [전체 공간] [사용한 공간] [여유공간]입니다.
[/code:16u1mblp]

  1. 스왑파티션으로 시스템에 마운트합니다.

[code:16u1mblp]~/$sudo swapon -p 32767 /dev/sdb1[/code:16u1mblp]
5. 제대로 스왑파티션으로 추가되었는지 확인해보도록 하죠 :)

[code:16u1mblp]
~/$cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 1000444 0 -1
/dev/sdb1 partition 1024 0 32767
[/code:16u1mblp]

이렇게 나오면 일단 [b:16u1mblp]disk caching for usb[/b:16u1mblp] 완성입니다. :)
근데 정말… 전체적인 로딩속도 등이 향상되긴 합니다만 너무 큰 기대는 하지 마세요.
기본적인 구조상 USB나 HDD등의 저장 매체는 RAM의 속도를 따라갈 수가 없으니까요.

아, USB캐싱을 하실때 USB용량의 전체 가용램의 절반정도가 된다면 하드디스크의 스왑파티션은 언마운트~ 하셔도 됩니다.
…사실 가용램으 절반=스왑용량…이란것도 좀 오래된 이야기이긴 하지만요.

[quote="cklove":2u1d2u65]제 노트북이 램 1Gb를 사용하다보니
버추얼 박스를 돌릴 때마다 숨이 멎는 것같이 답답하답니다.
그런데 오늘 아침 문득 이런 엉뚱한 생각이 나는 겁니다.
집에 남아도는 USB메모리를 RAM처럼 사용할 수는 을까?
정말 엉뚱하죠?

그런데 … 만약 그렇게만 된다면 얼마나 좋을까요?[/quote:2u1d2u65]

윈도 XP에서는 아래와 같은 방법으로 가능하다고 합니다. :shock:
[youtube:2u1d2u65]RjFt7wbB72k[/youtube:2u1d2u65]

USB 메모리 스틱의 빈 공간을 버추얼 메모리로 쓴거죠.
보통 RAM이라고하면 전원이 공급되는 동안 데이타를 저장 할 수 있는 장치를 말합니다 ^^;

느리거나 램이 적은 컴은 이것으로 효과를 본다고합니다.
하지만 사용 도중 USB메모리 스틱을 뽑으면 천재지변이 일어난다고 합니다. :o

데이터 안전성에 관련된 플래시 메모리 수명 문제도 있습니다.
RAM 을 확장하시거나, MS 윈도우 파티션을 만들어서 듀얼 부팅하시는 방법을 추천합니다.
MS 윈도우로 부팅하게끔 원인을 제공한 측에 민원 제기 한 번 해주는 센스^^

간만에 재미있는 소재다! 싶어서 이것저것 좀 뒤져봤습니다.

그런데… 이 기술 적어도 07년부터 쓰는 사람은 쓰는 기술이더군요.

일단 리눅스의 경우에는 swap파티션으로 이용하는 상황이고
윈도우의 경우에는 ReadyBoost라고 명명하고 있는듯 합니다.
ReadyBoost는 비스타부터 도입되었다고 하는군요.

swap의 경우에는 윈도우의 페이징 파일과 같은 개념이라 생각하시면 됩니다.
일정 공간을 할당하고 무제연습장처럼 필요할때 빈 공간 아무곳에나 적었다가 일이 끝나거나 페이지가 꽉 차면 다음장으로-요컨데 삭제-
넘기는 방식입니다.

이 방식의 장점은 용량을 사용자가 임의로 설정할 수 있다는 점입니다.
그리고 램같은 휘발성 메모리가 아닌 저장매체에도 어느정도의 랜덤 억세스를 통해 속도를 확보하지요.
(그래서 윈도우의 페이징 파일보다 스왑파티션의 성능이 조~금 더 좋습니다. 미묘하지만요.)
램이 4GB이상이면 페이징 파일 없애도 된다…라는 말 한번쯤 들어본 분은 들어보셨을겁니다.

단점은… 지금 이 포스팅의 주제처럼 USB스왑파티션을 달아놨을 경우입니다.
USB스왑 자체는 문제가 안됩니다만, 페이지 아웃(Page Out)된 녀석들이 USB에 차곡차곡 쌓여있는데 갑자기 USB 빠지면…
스왑영역에 페이징으로 들어가 RAM전송만 기다리던 녀석들이 산화합니다!!!
그냥 간단하게 컴이 다운되거나 먹통이 되거나 바보가 됩니다.

그리고 USB 자체가 Read/Write는 몰라도 Erase속도는 보장을 못하는 물건이라 페이징 파일을 비우는 행동때문에
되려 리소스를 더 먹는 경우도 생길 수 있습니다. 그래서 램 대용으로 쓰려면 USB 좋은거 쓰셔야 하는거구요.
덧붙여서 USB는 RAM같은 휘발성이 아니기때문에 인스턴트 Rewrite가 안됩니다. 시간이 걸리죠.
즉, 몇GB짜리를 스왑으로 쓰던 결국은 한번씩 비워야 할 때가 온다는겁니다.

윈도우로 넘어가서 ReadyBoost는 약간 틀린 접근방법을 취하고 있는데, 페이징이 아니라 캐싱입니다.
페이징이 연습장이라면 캐싱은 중간 물류창고 같은 녀석입니다. 사실 이것도 그렇게 정확한 표현은 아니고…
어쨌든 캐쉬로 설정된 USB에 컴퓨터가 바로 가져다 읽을 수 있는 데이터를 올리고 대기하고 있다가 하드디스크에서 I/O가
발생하면 일단 ReadyBoost 캐쉬에서 해당 데이터가 있는지 확인합니다.
만약 없다면 하드디스크로 Fallback하여 데이터를 찾아 전송합니다.

간단히 설명해서 우리집이 구로구인데 용산에 주문을 했습니다. 그럼 용산 센터에서 구로 바로 옆인 가산동 지부에 물건이 있는지 확인합니다.
그래서 물건이 있으면 바로 배달하고 없다고 하면 용산에서 물건이 출발하는거죠.

이 방식의 장점은 [b:1wecvbi3]중간에 USB를 빼도 안전합니다!!![/b:1wecvbi3]
이게 다에요! 이거면 충분하잖아요?!
어차피 스왑이나 레디부스트나 USB에 돈 안들이면 쓰나 마나인건 똑같다구요 [b:1wecvbi3]HA HA HA ! ! ![/b:1wecvbi3]

그리고, 바로 그게 단점입니다.
스왑파티션 방식의 두 세배쯤 더 돈빨(…)을 받습니다.
HDD보다 I/O속도가 느리면 되려 속도를 깎아먹습니다…
게다가 요샌 SSD도 많이 쓰니 그 속도에 맞출거 생각하면 그냥 램을 추가하고 말겠습니다.

두서없이 주절주절 해놨습니다만…
정리하고 보니 결론은 [b:1wecvbi3][그냥 램 늘리세요 -_-a][/b:1wecvbi3]같네요.
…노트북이나 넷북 유저는 뭐… Array커널을 짜도록 하죠 (…)

모두들 깊은 관심을 보여주셔서 감사해요.
제가 가지고 있는 노트북(averatec 1500 series)은 램을 꽂는 슬롯이 1개밖에 없고(현재 1Gb)
그것도 최대 2Gb밖에 안된다고 제원에 적혀 있어서 지난 번 한국에 갔을 때 많이 망설이다 그냥 들어왔거든요.
어떤 분 왈, "2기가 추가해도 별 차이 없을껄요!"하길래 … ㅠ.ㅠ

저도, "정 안되면 (아내에게 ^^) 노트북 새로 사달래야지… " 하고 그냥 돌아왔거든요.
일정도 바쁘고 램값도 비싸고 해서

그런데, 리눅스 쓰는데 최적인 이 노트북을 어떻게 버려요 ㅠ.ㅠ
정 끊기도 어렵고, 주머니 사정도 …OTL

[quote="yemharc":2v6286rs]
두서없이 주절주절 해놨습니다만…
정리하고 보니 결론은 [b:2v6286rs][그냥 램 늘리세요 -_-a][/b:2v6286rs]같네요.
…노트북이나 넷북 유저는 뭐… Array커널을 짜도록 하죠 (…)[/quote:2v6286rs]

저도 램 추가하고싶은 마음 굴뚝같으나 성능 향상의 확신이 안 서고,
여기서 한국에 주문하기도 그렇고 …
그래서 궁여지책으로 질문을 던진 거랍니다.

어쨌든 …
위의 글들을 읽어보니 USB사용이 썩 좋은 방법은 아닌 것 같은데요…
스왑 영역을 늘려도 별 의미가 없다는 이야기들을 많이 들어서 그런데…
[b:2v6286rs]이 상황에서 스왑을 늘리면 어떤 현상이 일어날까요? 정말 별 의미없는 것일까요?
현재는 스왑 1기가로 잡아놓았거든요.[/b:2v6286rs]

[quote="cklove":372a8omo]모두들 깊은 관심을 보여주셔서 감사해요.
제가 가지고 있는 노트북(averatec 1500 series)은 램을 꽂는 슬롯이 1개밖에 없고(현재 1Gb)
그것도 최대 2Gb밖에 안된다고 제원에 적혀 있어서 지난 번 한국에 갔을 때 많이 망설이다 그냥 들어왔거든요.
어떤 분 왈, "2기가 추가해도 별 차이 없을껄요!"하길래 … ㅠ.ㅠ

저도, "정 안되면 (아내에게 ^^) 노트북 새로 사달래야지… " 하고 그냥 돌아왔거든요.
일정도 바쁘고 램값도 비싸고 해서

그런데, 리눅스 쓰는데 최적인 이 노트북을 어떻게 버려요 ㅠ.ㅠ
정 끊기도 어렵고, 주머니 사정도 …OTL

[quote="yemharc":372a8omo]
두서없이 주절주절 해놨습니다만…
정리하고 보니 결론은 [b:372a8omo][그냥 램 늘리세요 -_-a][/b:372a8omo]같네요.
…노트북이나 넷북 유저는 뭐… Array커널을 짜도록 하죠 (…)[/quote:372a8omo]

저도 램 추가하고싶은 마음 굴뚝같으나 성능 향상의 확신이 안 서고,
여기서 한국에 주문하기도 그렇고 …
그래서 궁여지책으로 질문을 던진 거랍니다.

어쨌든 …
위의 글들을 읽어보니 USB사용이 썩 좋은 방법은 아닌 것 같은데요…
스왑 영역을 늘려도 별 의미가 없다는 이야기들을 많이 들어서 그런데…
[b:372a8omo]이 상황에서 스왑을 늘리면 어떤 현상이 일어날까요? 정말 별 의미없는 것일까요?
현재는 스왑 1기가로 잡아놓았거든요.[/b:372a8omo][/quote:372a8omo]

요즘 들어 USB 메모리스틱 가격이 많이 저렴해져서… 우연찮게 구한 2GB 메모리를 가지고

스왑으로 사용해 본 적이 있습니다. (위에 yemharc 님이 설명하신 방법으로 하면 됩니다)

저의 경우는 하드디스크에 만들어진 스왑파티션을 꺼버리고 오로지 USB를 스왑으로만 쓰도록 했었습니다.

사용해본 결과 그냥 창 한 두개 띄우고 사용하는 것에서는 별 차이를 못 느꼈습니다.

하지만, 오픈오피스를 비롯한 이클립스 같이 메모리를 많이 먹는 녀석들을 사용함에 있어서는 확실히 속도가 개선되었다는 것을

느낄 수 있었습니다. 당연히 물리적인 메모리를 늘리는 것 만큼은 안되지만 Windows7의 ReadyBoost 정도는 되었던 걸로 기억합니다.

[quote="cklove":2zkxvloe]
어떤 분 왈, "2기가 추가해도 별 차이 없을껄요!"하길래 … ㅠ.ㅠ
[/quote:2zkxvloe]

1기가와 2기가 차이… 많습니다. 많은 프로그램을 실행하면서 작업할 수록 그 차이는 확실히 느껴집니다. :)

그리고 스왑의 크기는 늘리면 늘릴 수록 많은 어플에 대해서 반응 속도가 개선되는 건 사실이지만

스왑 자체의 성능적인 한계를 고려한다면 크기에 정비례해서 개선되지는 않습니다. :oops:

RAM 512MB 하드디스크 60GB짜리를 쓰는 사람입니다.
(그나마도 그래픽 카드가 메모리를 끌어 쓰는 바람에 실 메모리 크기는 487MB(conky기준)밖에 안 되네요…OTL)
저 같은 경우는 하드 디스크에 윈도와 주분투를 깔아두고
8GB짜리 USB를 주분투 최소설치/데이터용에 각각 4GB씩 두 개로 나눠서 씁니다.
윈도 : 윈도 없으면 처리 불가능한 작업들
하드 주분투 : 주로 사용
USB 주분투 : 간단히 인터넷 서핑만 할 때
(주분투 최소설치+한글설정+파이어폭스 끝. 추가로 다른사람한테 보여주기용 크롬과 컴피즈)
이렇게 사용하는 중입니다.

P.S. 하드디스크에 스왑 1GB를 잡아 두긴 했는데, conky로 보고 있으면 아무리 스왑이 많이 남았어도 메모리 총 사용량(실 메모리 사용량?+캐시 메모리 사용량)이 메모리 총량에 근접하게 되면 어차피 심각하게 느려지던데요;;

[quote="freaxtux":31e5bwze]
P.S. 하드디스크에 스왑 1GB를 잡아 두긴 했는데, conky로 보고 있으면 아무리 스왑이 많이 남았어도 메모리 총 사용량(실 메모리 사용량?+캐시 메모리 사용량)이 메모리 총량에 근접하게 되면 어차피 심각하게 느려지던데요;;[/quote:31e5bwze]

그건 어쩔수 없지요.
중계 창고서 20톤 트럭으로 100대를 나를 운송능력이 있어도 마지막에 집앞까지 배달하는 인력이 부족하면 의미없는거랑 같은거니까요.

[quote="레타라슈":1c1s9of7][quote="yemharc":1c1s9of7]
4. USB드라이브의 정확한 용량을 알아야 합니다. (예시입니다.)

[code:1c1s9of7]
~/$df /dev/sdb1
/dev/sdb1 32767 1024 31743
[/code:1c1s9of7]
5. 차례대로 [전체 공간] [사용한 공간] [여유공간]입니다.
6. 이제 정확한 용량을 알았으니 스왑파티션으로 시스템에 마운트합니다.

[code:1c1s9of7]~/$sudo swapon -p 32767 /dev/sdb1[/code:1c1s9of7]
7. 제대로 스왑파티션으로 추가되었는지 확인해보도록 하죠 :)

[code:1c1s9of7]
~/$cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 1000444 0 -1
/dev/sdb1 partition 1024 0 32767
[/code:1c1s9of7]
[/quote:1c1s9of7]

swapon -p 옵션이 priority 아닌가요?[/quote:1c1s9of7]

priority맞습니다.
읽어보고 저도 식겁… 전 무슨 헛소리를 해놓은건가요?!
일단 통째로 인용하고, 원래 글쪽은 수정 명시하고 고쳐야겠군요.

지적 감사합니다.