램 선택의 기준: 램 업그레이드가 필요할까?

2018. 12. 31. 00:34

이 글을 쓰는 이유

램 선택의 기준은 물론 '필요하냐 필요하지 않냐'가 기준입니다.
그런데, 그 필요성을 따지는 것을 단순한 체감으로 판단하기는 쉽지 않습니다. 왜냐하면 사용자가 컴퓨터를 업그레이드를 하기도 전에 업그레이드 된 컴퓨터의 속도를 알 수 없기 때문이죠.
그래서 보통은 현재 컴퓨터 리소스(RAM, CPU 등)의 사용량을 확인합니다. 하지만 컴퓨터의 운영을 고려해보면 단순히 리소스의 사용량을 확인하는 것은 확실성을 떨어트릴 수 있습니다.
이 글에서는 업그레이드에 좀 더 확실한 근거를 제시하려고 합니다. 특히 램을 중점적으로 다뤄보겠습니다.

이 글은 추가적인 램이 필요한지에 대한 객관적인 기준을 다루는 것이 아닙니다. 어차피 물컵에 물이 반이 남아 있어도 '반이나 남았네!'라고 생각하는 사람도 있고, '반 밖에 안남았구나..ㅠㅠ' 라고 생각하는 사람도 있으니까요.
하지만 물컵도 보지 않고 '물은 충분히 남아있어!'라고 생각하지 않기를 바라는 마음에서 주관적인 평가를 내리기 위한 보다 객관적인 자료를 제시하는 겁니다.

가상메모리(Virtual Memory)

운영체제는 프로그램이 마음껏 메모리를 사용할 수 있도록 가상메모리를 할당합니다.

위 사진을 보면, 실제 사용량은 308MB이지만 운영체제에서 해당 프로세스에 할당한 가상 메모리는 86GB입니다. 저 크기의 데이터를 실제 메모리에 확보해두려고 한다면 당연히 시스템 운영이 불가능할 겁니다. 프로세스가 사용할 수 있는 메모리 공간(86GB)과 실제로 메모리를 점유하는 크기(308MB)는 다르다는 것이죠.
이것을 '가상메모리'라고 합니다. 가상 메모리 덕분에 (보조 기억장치의 공간이 충분하다면) OS는 해당 프로세스가 실제로 86GB 를 요구해도 문제 없이 실행되도록 하는 것이죠. 단, 예상하다시피 속도는 처참할 겁니다.

가상 메모리란, 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식을 말합니다(위키피디아). 애플리케이션이 '메모리의 한계를 계산하고 그에 따라 메모리 사용량을 줄이도록 하는 복잡한 코딩/연산과정'을 생략할 수 있도록 하는 기법입니다.
실제로 프로그래밍을 할 때에 변수를 만들면서 메모리의 남은 공간을 확인하고 변수를 만들지는 않습니다. 오히려 프로그래머들은 연산을 시작하기 전에 일단 변수 먼저 만듭니다. CPU의 연산 속도에 비해 램이 느리기 때문에 먼저 공간을 만들어두는 것이죠.
이런 식의 프로그램은 메모리 점유율이 커질 수밖에 없습니다. 그러나 메모리의 한계에 다다른다 하더라도 프로세스가 종료되거나 멈추지 않습니다.

이러한 방식은 멀티태스킹 운영 체제에서 흔히 사용되고, 실제 주기억장치보다 큰 메모리 영역을 제공하는 방법으로도 사용됩니다(위키피디아). OS는 애플리케이션에 메모리가 충분히 많다고 전달하고, 애플리케이션은 그 충분한 공간을 사용할 수 있게 됩니다. OS는 애플리케이션의 요구에 맞춰 메모리에 데이터를 저장합니다.

메모리 압축과 Swap (Paging)

그런데 만약 실제 메모리가 부족하다면 어떻게 할까요?
어차피 프로세스들은 OS를 통해 메모리에 접근하는 것이기 때문에 프로세스가 요구하는 메모리 데이터가 어디에 저장되든 상관 없습니다. 그 점을 이용해서 OS는 메모리 압축이나 Swap을 통해 공간을 확보합니다. 자주 사용하지 않을 것 같은 데이터는 압축하거나, 보조 기억 장치에 저장하는 거죠.

메모리가 부족하다는 것은 메모리 압축이나 Swap(스왑)이 발생할 때를 말합니다.

메모리 압축

압축은 딱히 설명할 게 없습니다. 메모리에서 자주 사용하지 않는 코드를 압축하는 거죠. 압축을 하면 50%넘게도 크기를 줄일 수 있습니다.
압축의 단점은 CPU 리소스를 사용한다는 것입니다. 컴퓨터의 모든 리소스 중 가장 빠른 리소스이지만, 컴퓨터의 성능에 가장 큰 영향을 미치는 리소스이기도 하죠.
압축한 데이터에 다시 접근해야 한다면 압축을 풀어야 합니다. OS가 사용자의 요구를 미리 예측할 수 없기 때문에 메모리에 접근하고자 할 때에 메모리 압축 해제를 하게 됩니다. 이 때 성능에 큰 영향을 끼치는거죠.

Swap (Paging)

스왑은 보조 기억장치를 주 기억장치처럼 활용하는 기법을 말합니다. 보조 기억장치는 CPU에 비하면 압도적으로 느립니다(다음 절에서 설명). 그렇기 때문에 스왑을 하더라도 일단은 압축을 해야 합니다. 그만큼 CPU 리소스를 사용할 수밖에 없습니다. 그리고, 발열 전력소비에도 영향을 끼치죠. 노트북의 경우는 발열이 늘면 성능 감소로도 이어집니다.
여기서도 메모리 압축과 같은 문제가 발생합니다. 압축하고 스왑한 데이터를 다시 사용하려면 보조 기억장치에서 주 기억장치에 불러와서 압축을 풀어야 합니다. 보조 기억장치의 기나긴 응답을 기다리고, 메모리에 로드 되면 성능에 가장 큰 영향을 미치는 CPU 리소스를 사용해 압축을 풀어야 합니다.

메모리 압축과 Swap의 결론

컴퓨터는 하드웨어 간의 속도 차이를 극복하기 같은 계층 구조를 사용합니다. CPU가 가장 빠르고, CPU 안에 있는 L1, L2, L3 캐시, 그 다음으로 주 기억장치, 보조 기억장치 순서입니다. 최고의 성능 발휘를 위해서 프로그래머나 OS, CPU 연구원들은 캐시를 활용하여 RAM에 엑세스하는 것을 최대한 줄여야 합니다. 사용자는 RAM이 부족해서 압축이나 Swap을 위해 보조 기억장치에 엑세스하는 것을 최대한 줄여야 합니다.

SSD도 느린가요?

만약 보조 기억장치의 리소스 사용량이 적고, 주 기억장치와 CPU의 리소스 사용량이 많은 연산을 한다면 압축은 하지 않고 Swap만 하는게 유리할 수도 있습니다. 하지만 보통은 그러지 않습니다. 보조 기억장치로 사용되는 SSD가 아무리 빨라졌다 하더라도 주 기억장치인 램에 비하면 굉장히 느립니다.

2018년 기준 최상급인 삼성 SSD 970 Pro나 Intel SSD 900P의 응답 속도가 70마이크로초~150마이크로초 수준입니다. 램은 2018년 기준 낮은 수준인 2133Mhz 메모리의 응답 속도가 50나노초 정도로, 마이크로초로 계산하면 0.05마이크로초가 됩니다. 1400배 빠른 응답 속도를 갖습니다. 이런 차이가 장기적으로 누적되면 큰 지연이 생기죠.

SSD보다도 1000배 이상 빠른 RAM도 연산 장치인 CPU에 비하면 굉장히 느립니다. 이런 속도 차를 극복하기 위해 CPU는 L1 캐시를 사용합니다. 최근에는 그 속도차이가 더 커져서 L2, L3, L4캐시도 등장했습니다.

Computer Action Avg latency 1초 정규화
3Ghz CPU Clock Cycle 0.3 ns 1s
L1 Cache Access 0.9 ns 3s
L2 Cache Access 2.8 ns 9s
L3 Cache Access 12.9 ns 43s
RAM Access 50ns 2.75 m
NVMe SSD I/O 70 ~ 150 us 2h ~ 2 d
Rotational disk I/O 1~10 ms 11d ~ 4 m

캐시

반대로 보조 기억장치가 느린 것을 보상하기 위해 메모리를 활용하는 기법이 있는데, 이를 캐시라고 합니다.

사진을 보면 Memory 열에서는 214MB, Real Memory 열에서는 309MB라고 나옵니다. 프로세스가 사용하는 메모리는 214MB인데, OS에서는 이 프로세스에 309MB를 사용합니다. OS가 자주 사용되는 코드, 그래서 추후 다시 사용 될 것 같은 코드를 미리 프로세스에 붙여두는거죠. 보조 기억장치가 너무 느리기 때문에 운영체제는 자주 사용되는 코드를 메모리에 보관하여 보조 기억장치에서 로드해야 할 코드를 메모리에서 찾는 겁니다.

OS의 가상메모리 운영

가상메모리에 신경써야 할 요소가 더 있습니다.

애플리케이션이 잘못 만들어진 것이 아니라면 갑자기 100GB이상의 메모리 데이터를 만들진 않을 겁니다. 하지만 1~2GB의 메모리 공간을 갑작스럽게 요구할 경우는 있겠죠. 그런데, 이 때 메모리가 부족하다면 어떻게 될까요?

운영체제는 애플리케이션이 메모리 공간을 추가로 요구할 때마다
  1. CPU 자원을 사용해서 자주 사용하지 않는 코드를 찾아내고
  2. CPU 자원을 사용하여 압축하고
  3. 보조 기억장치에 보관하는 동안 CPU 자원은 유휴 상태로 대기하고
  4. 보조 기억장치에 저장되면 메모리를 비우고 실행중인 애플리케이션에 할당

하는 작업을 반복 하는 걸까요?

만약 사실이라면 컴퓨터에서 애플리케이션을 실행하는 속도는 처참할 겁니다. OS는 애플리케이션이 어느 정도의 메모리 공간을 요구하는 것을 예측할 수 없기 때문에 애플리케이션이 1~2GGB의 공간이 필요하다 하더라도 실제로는 작은 크기의 데이터를 할당받는 것을 수백 번 반복하는 것입니다. 그 말은 자주 사용하지 않는 코드를 찾아 압축하는 작업을 수백번 반복하는 것이 됩니다.

개발자가 애플리케이션의 실행에 필요한 공간을 계산하여 미리 할당받는 방법도 있긴 하지만, 메모리 사용량을 예측할 수 없다면 필요할 때마다 추가로 요청해야 합니다. 그러라고 가상메모리라는 개념을 만든 것이기도 합니다.
게임으로 예를 들자면, 처음에 최대한 많은 데이터를 메모리에 로드해두는 방법도 있을겁니다. 하지만 대부분 게임은 라운드가 시작되거나 맵이 바뀔 때마다 다시 로딩을 합니다. 그런데 이렇게 애플리케이션이 실행되는 중에 로드하는 데이터들의 크기를 프로그래머가 예측하고 미리 할당받아두기는 쉽지 않습니다.
맵을 로드할때, 건물 개체와 그 개체에 그려질 그림(텍스처)를 로드해야 하는데, 미리 그 크기를 계산할 게 아니라면 건물 개체를 로드하고 다시 텍스처를 로드하는 방법을 사용해야 합니다. 게임 안에 건물이 몇개 나올까요? 엄청 많을겁니다.
그러므로 애플리케이션에서 수행하는 대용량의 메모리 공간 요청도 작은 크기의 메모리 할당을 여러번 반복하는 것이죠.

이러한 요청을 빠르게 수행하기 위해서는 1, 2, 3 단계를 건너뛸 방법이 필요합니다.

운영체제는 항상 어느 정도의 공간을 비워두도록 합니다. 덕분에 갑작스럽게 메모리를 요구할 때도 즉시 메모리를 할당하고 해당 애플리케이션이 다음 명령을 실행할 수 있습니다. 보통 OS는 10%~30%정도의 공간을 남겨둡니다.
주 기억장치가 8GB인 시스템에서는 2.5GB이하의 공간만 남아있다면 성능에 영향을 줄 정도로 압축이나 스왑이 된 것을 의심해야 합니다. 16GB의 시스템에서는 5GB이하의 공간만 남아있다면 성능에 영향을 줄 정도로 압축이나 스왑이 된 것을 의심해야 하는 겁니다.

본격적인 판단 기준

처음에도 언급했듯이, 주관적인 판단을 위한 객관적 지표인겁니다.
바로 윗 단에서 2.5GB 이하의 공간만 남아있다면 성능에 영향을 줄 정도라고 했습니다.
하지만 이 '성능'은 '체감 성능'이 아닙니다. '성능'만을 따진다면 메모리는 100GB로도 부족할겁니다. 캐시 기능이 덕분에 메모리는 많을수록 빨라집니다.
물론, 그 돈을 투자해서 CPU를 업그레이드 하는게 체감 성능은 더 좋아지겠죠. 이런 주관적인 판단을 위해 사용할 객관적 지표 '가상메모리'를 배웠습니다.

그러면 캐시는 없더라도, 압축이나 스왑이 없는 정도로 업그레이드 하면 될까요?
그것도 아닙니다. 압축이나 캐시가 있어도 됩니다. 아무리 시간에 민감한 사람이라도 '체감 성능' 기준으로 차이가 느껴지지 않을 수 있습니다.

1. 불필요한 데이터의 압축

메모리 압축은 자주 사용하지 않는 데이터를 대상으로 수행됩니다. 압축된 메모리를 사용할 때는 다시 압축을 해제해야 하기 때문에, 자주 사용하는 데이터에 적용하지는 않을겁니다.
그 중에서도 정말로 사용하지 않는 코드인 경우에는 압축되거나 Swap되어도 성능에 영향이 없습니다. 프로세스가 통채로 압축되는게 아니고 프로세스의 일부만 압축할 수도 있습니다. 그래서 모든 프로세스를 골고루 사용중이라도 그 중 일부 기능은 자주 사용하지 않는다면 압축되어도 체감 차이는 없을 수 있습니다.

2. 부속 장치를 기다림

다른 장치를 기다려야 하는 애플리케이션이라면 체감되지 않을 수 있습니다다.

HDD 불량 확인 프로그램으로 HDD를 검사한다고 가정합시다. 이 컴퓨터의 메모리가 부족하여 Swap 되더라도 컴퓨터는 하드디스크의 불량 확인 속도에 체감하는 차이가 없을 것입니다.
여기서 생기는 가장 큰 지연은 HDD의 지연이기 때문입니다. CPU나 램은 Swap 때문에 연산량이 늘어났지만, 어차피 HDD를 기다려야 하는 시간 때문에 유휴 시간이 더 깁니다.

간단히 커서를 움직이는 동작을 비교해봅시다. 한 컴퓨터는 1Ghz 듀얼코어 컴퓨터이고, 한 컴퓨터는 4Ghz 옥타코어입니다. 그 외 스펙은 모두 같습니다. 아무것도 없는 바탕화면에 커서만 움직이는데 체감 차이가 느껴질까요? 아닙니다. 분명 같은 연산을 수십배 이상 느린 컴퓨터에서 수행하는건데 왜 체감 차이가 없을까요?
그 이유는 이 상황에서는 모니터의 지연이 원인이기 때문입니다. 보통의 60Hz모니터는 약 16ms의 지연을 가집니다. 1Ghz 듀얼코어 시스템이라 하더라도 마우스를 움직이는데 16ms까지 필요하지는 않은게 그 이유입니다..

메모리 확인 방법

위에서 알아본 이론적인 구조를 직접 확인할 수 있어야 메모리 업글레이드가 필요한지 알 수 있습니다.
보조 기억장치는 느립니다. 그렇기 때문에 보조기억장치를 사용하는 Swap은 최후의 단계라고 보면 됩니다. 개인적으로는 Swap 크기가 2GB이상일 경우는 누구라도 속도 차이를 느낄 수 있다고 생각합니다. 메모리 압축은 5GB 이상이라면 누구라도 속도 차이를 느낄 수 있을 것이라고 생각합니다.(16GB램 기준)
여기서 함께 확인해야 할 것은 자신의 사용 환경과 가격 부분을 고려해야 합니다. 만약에 백그라운드형 프로그램이 굉장히 많고, 이 프로그램들이 반복적인 코드만을 수행한다면 스왑이나 압축이 굉장히 커도 큰 차이는 없을 겁니다. 필요 없는 부분만 압축했기 때문이죠. 또한 체감 차이가 생긴다 하더라도 메모리 가격 대비 유익한 체감차이인지도 생각해봐야 하고요.

맥OS(MacOS)

맥은 메모리가 항상 캐시로 가득 차 있습니다. 어느 정도 사용하고 나면 여유 메모리는 300MB미만이 됩니다.
또한 맥은 Swap을 하는 한이 있어도 일단은 캐시는 어느 정도 남겨둡니다. iOS도 같습니다.

활성 상태 보기(Activity Monitor) 앱을 실행합니다. 그리고 메모리 탭을 클릭하면 위와 같이 나옵니다.
아래쪽에 Swap Used와 Compressed를 통해 전체적인 압축량과 스왑 사용량을 확인할 수 있습니다. 맥은 활성 상태 보기에서 앱별 압축된 양도 확인할 수 있습니다.
메뉴바에서 '보기 -> 열 -> 실제 메모리, 압축 된 메모리'를 체크하면 됩니다. 여기서 각 프로세스별로 압축된 양을 보고 시스템 업그레이드가 필요할지 주관적으로 판단하면 됩니다.

맥의 경우는 Hibernate를 할 때에 메모리의 데이터를 최대한 압축하고 스왑한 후에 컴퓨터를 끕니다. 덕분에 16GB 메모리를 사용 중이라도 Hibernate 파일은 3GB를 넘지 않죠. 그런데 시스템이 복원 된 후에도 다시 사용하지 않는 코드는 메모리가 여유롭다 하더라도 스왑 상태로 남습니다. 이를 속도가 저하되는 요인이고, 메모리 업그레이드 후에 체감 차이가 생긴다고 여기면 안됩니다.

주 : Hibernate : 메모리의 데이터를 보조기억장치에 저장하고 컴퓨터를 끕니다. 컴퓨터를 켜면 이 데이터를 복원하고 잠자기(Sleep)에서 깨어난 것처럼 작동합니다.

윈도우(Windows)

윈도우즈가 올바른 외래어 표기입니다. 하지만 한국 MS가 윈도우라고 표기합니다. 고유명사가 표기법보다 우선이니 '윈도우'라고 해야 합니다.

윈도우는 작업 관리자에서 성능 탭을 보면 됩니다.

Swap을 윈도우에서는 페이징(Paging)이라고 합니다. 윈도우의 경우 페이징은 정확한 수치로 나오지 않습니다. 여기서 확인해야 할 것은 Committed(커밋 됨)과 In use(사용 중), 그리고 Compressed(압축 됨)입니다. Commit은 OS에서 메모리를 할당한 부분입니다. 캐시를 포함하여 압축, 페이징 크기도 Committed에 포함됩니다..

'In use(사용 중)' + 'Available(사용 가능)' = 사용 가능한 RAM 크기
: 캐시나, 페이징에 대한 부분은 계산에서 제외됩니다. 그래서 실제 메모리 사용량과는 다릅니다.

'Committed(커밋 됨)' = 주소를 가진 데이터의 크기
: 압축 된 데이터나 페이징 된 데이터는 압축 이전의 크기로 표시될 수 있습니다.
'In use(사용 중)', 'Paged pool(페이징 풀)*', 'Non-paged pool(비 페이징 풀)**', 'Paging***' 등을 포함합니다.
'Cached(캐시 됨)'은 'Committed(커밋 됨)'에 포함되지 않습니다.
*페이징 풀은 RAM에 있는 커널 개체에 대한 가상 주소를 보관합니다.
**비 페이징 풀은 RAM 외의 장치에서 가져올 수 있는 데이터에 대한 가상 주소를 보관합니다.
***페이징 파일이 있을 경우에는 Committed(커밋 됨) 항목의 분모가 전체 메모리 크기보다 큽니다(커질 가능성이 높다).

CPU가 보조 저장장치에 비해 압도적으로 빠르기 때문에 페이징을 할 때도 압축을 거친 후에 보조 저장장치에 저장합니다.
그런데 윈도우에서는 실제 페이징 크기나 압축 크기가 아닌, 압축 이전의 크기만 나옵니다. 그래서 압축 전의 데이터 크기와 페이징 이전의 크기를 가지고 주관적으로 판단해야 합니다.

하지만 윈도는 또 다른 객관적 자료를 제공합니다.

Resource Monitor(리소스 모니터)의 메모리 탭에서 Hard Faults(하드 폴트)를 확인할 수 있습니다.
이 열은 프로세스가 초당 하드 페이지 폴트 요청 횟수의 1분 동안의 평균치를 보여줍니다. 자주 사용하는 프로그램이 하드 폴트가 많으면 메모리를 늘릴 필요가 있는겁니다.
MacOS에서는 페이지 폴트를 서드파티(3rd Parties) 프로그램을 이용하면 확인할 수 있습니다.

마치며…

처음부터 강조한 것인데, 개인의 선택에 달린겁니다. 하지만 단순히 OS가 표시하는 RAM의 사용량만 보는 것은 선택에 대한 근거로는 부족하죠.
그래서 OS가 메모리를 관리하는 방법을 알아보고 메모리가 얼마나 사용되고 있는지 더 정확하게 추정한 후에 주관적으로 결정해야 합니다. 사용자의 컴퓨터가 사용자가 하고자 하는 작업에 사용자가 요구하는 성능을 보여줄 수 있는지 생각해봐야 합니다.

OS는 상당히 복잡하여 현재의 구성에서 각종 프로세스와 하드웨어를 조절하여 각종 요소의 균형을 유지할 수 있도록 동적으로 관리합니다. 때문에 단순히 컴퓨터의 리소스 사용량만을 보고 판단하기 어렵죠.
이는 RAM 뿐 아니라 다른 장치들도 마찬가지입니다. CPU는 캐시의 속도에 따라서도 성능 차이가 생기고, 디코더의 속도에 따라서도 성능 차이가 생깁니다. 그래서 CPU사용량이 30%정도라 해도 업그레이드를 하면 성능 차이가 느껴질 수 있죠. 캐시 또한 성능에 영향을 미치는 요소이지만 작업 관리자에 나타나지 않습니다.
SSD도 마찬가지입니다. 단순히 읽기 속도가 빠른 것만이 장점인 것은 아닙니다. SSD는 읽기/쓰기 요청에 대해 응답속도가 굉장히 빠른 것이 장점입니다. 이 장점을 살리는 인터페이스가 NVMe구요. 초당 IO 처리 횟수를 의미하는 IOPS는 단순한 파일 복사로는 판단할 수 없습니다. 작은 크기의 파일을 여러 개 복사해야 IO요청이 여러개 생기기 때문이죠. 이건 벤치마킹 소프트웨어를 통해 판단할 수 있습니다. GPU와 HDD에 대해서도 단순히 사용량만 확인할 것이 아니라 좀 더 다양한 기준을 찾아 평가할 필요가 있습니다.

SSH 서버 설치 및 접속하기

2017. 11. 3. 23:41

SSH

Linux나 서버 등은 디스플레이가 연결되지 않은 컴퓨터가 있습니다. 요즘은 개인이 NAS를 사용하는데, 이것도 디스플레이가 연결되지 않은 컴퓨터입니다. 이러한 컴퓨터에서 명령을 실행하기 위한 프로그램 또는 프로토콜이 SSH(Secure SHell)입니다.

SSH로 원격 컴퓨터에 접속하기 위해서는 원격 컴퓨터에는 SSH Server가 실행 중이어야 하고 Client에는 SSH Client가 설치되어 있어야 합니다.

SSH 서버 실행

우분투에 SSH 서버 설치하기

리눅스는 배포판에 따라 SSH 설치 방법이 다릅니다. 제가 가장 많이 이용하는 우분투의 경우는 아래와 같습니다.

우분투에 SSH Server 설치하기

  1. SSH Server 설치
    sudo apt-get install openssh-server

  2. SSH Server 포트 변경
    vi 사용 : sudo vi /etc/ssh/sshd\_config
    GUI 사용 : sudo gedit /etc/ssh/sshd\_config

  3. SSH Server 다시 시작
    sudo /etc/init.d/ssh restart

NAS에서 SSH Server 실행하기

NAS는 외부 모니터가 없고, 대부분 서버로 사용하기 때문에 SSH Server가 포함되어 있습니다. 따라서 SSH Server를 따로 설치할 필요가 없습니다.

  1. Synology NAS에서 SSH Server 실행하기

    Synology NAS

(출처 : papa.2ss.kr/13)

제어판으로 이동
터미널 및 SNMP메뉴로 이동
터미널 탭에서 SSH 서비스 활성화 체크
적용

  1. Qnap NAS에서 SSH Server 실행하기

    Qnap NAS

제어판으로 이동
Telnet / SSH 항목으로 이동
SSH 연결 허용 체크
적용

Client에서 SSH Server 접속하기

  1. Windows에서 SSH 접속하기

    Windows에는 SSH Client가 기본적으로 설치되어 있지 않습니다. 그래서 Windows에서는 SSH Client를 설치해야 합니다.

    일반적으로는 putty를 많이 사용합니다.
    putty 다운로드 하러 가기

    설치 후 putty를 실행합니다.

    (출처 : papa.2ss.kr/13)

    Host Name 칸에 원격 컴퓨터의 주소를 입력합니다. NAS 접속 주소를 입력하면 됩니다.
    Port를 입력합니다. 기본값이 22이기 때문에 22가 적혀 있습니다.
    Connection type에 SSH를 선택하고 Open을 누릅니다.

    그러면 아래와 같은 창이 나타납니다.


    (출처 : papa.2ss.kr/13)

    log in as: 에 관리자 계정을 입력합니다. 보통의 Linux System에서는 root입니다. Qnap NAS에서는 admin입니다.
    그리고 root의 비밀번호를 입력하면 SSH를 통해 원격 컴퓨터에 접속이 됩니다.

  2. MacOS나 Linux에서 SSH Server에 접속하기

    MacOS나 Linux에는 기본적으로 SSH 클라이언트가 설치되어 있습니다.

    MacOS나 Linux는 Terminal을 통해 바로 SSH를 실행하면 됩니다.

    (출처 : eapps.com)

터미널을 실행합니다.
ssh -p 22 root@ns.chcola.net 형식으로 입력합니다.
비밀번호를 물어보는 메시지에 비밀번호를 입력합니다. Server에 따라 RSA Key 경고메시지가 뜨는데 yes를 입력합니다.
그러면 SSH를 통해 원격 컴퓨터에 접속이 됩니다.

이제 원격 컴퓨터에 접속하여 커맨드를 입력할 수 있습니다.

OS X 엘 캐피탄 10.11.4 업데이트

2016. 3. 22. 20:42

iOS업데이트와 함께 맥용 오에스텐 업데이트도 이루어졌습니다.
앱스토어를 통해 업데이트를 진행할 수 있습니다.

맥은 공식 업데이트 내용 외에 알려진 추가기능은 없습니다.
업데이트 패키지는 1.6GB정도를 다운로드 합니다.

OS X 10.11.4의 새로운 기능

OS X El Capitan 10.11.4 업데이트는 Mac의 안정성, 호환성 및 보안을 향상합니다.

이 업데이트는 다음 개선사항을 포함합니다.

• 메모 App에서 개인 데이터를 포함하는 메모를 암호로 보호할 수 있는 기능 추가
• 메모 App에서 메모를 가나다순, 생성일순 또는 수정일순으로 정렬할 수 있는 기능 추가
• Evernote 파일을 메모 App으로 가져올 수 있는 기능 추가
• AirDrop 및 메시지 App를 통해 iOS와 OS X 간에 Live Photo를 공유할 수 있는 기능 추가
• 사진 App에서 RAW 이미지가 느리게 열리는 문제 수정
• iBooks에서 PDF 파일을 iCloud에 저장하여 사용자의 모든 기기에서 해당 PDF 파일을 볼 수 있는 기능 추가
• Safari에서 트위터 t.co 링크를 로드할 수 없는 문제 수정
• Safari에서 JavaScript 대화상자가 다른 웹 페이지로 접근을 차단하는 문제 수정
• VIP 메일상자가 Gmail 계정에서 동작하지 않는 문제 수정
• USB 오디오 기기가 연결 해제되는 문제 수정
• Apple USB-C 멀티포트 어댑터의 호환성 및 신뢰성 향상

기업 콘텐츠

∙ 루트 유저로 로그인했을 때 화면이 검은색으로 출력되는 문제 해결
∙ 키체인 접근에서 '승인' 또는 '항상 승인' 버튼이 클릭되지 않아 화면 공유를 시작할 수 없는 문제 수정
∙ 구성 프로필을 사용해 자동 로그인이 비활성화된 계정을 마이그레이션 지원이 열 수 없는 문제 수정
∙ Mail app이 Microsoft Exchange 캘린더 이벤트를 제대로 표시하지 못하는 문제 수정
∙ Cisco AnyConnect VPN 클라이언트에 대한 호환성 제공
∙ Wi-Fi를 통한 개인 핫스팟 연결에 대한 신뢰성 향상

이 업데이트에 관한 추가 정보를 보려면 http://support.apple.com/kb/HT205750 사이트를 방문하십시오.
이 업데이트의 보안 콘텐츠에 관한 추가 정보를 보려면 http://support/kb.HT201222 사이트를 방문하십시오.

- Apple

출처 : 애플

[루머] OS X 10.12를 위한 맥용 시리 개발 중!

2016. 2. 25. 23:10

애플의 개인 비서 '시리'를 맥에서도 사용할 수 있을 것이라고 합니다.

시리는 아이폰 4s에서 처음 소개되었는데요, 자연어를 해석하고 사용자가 원하는 정보를 제공해 줍니다. 이후 시리를 애플 워치와 애플TV에도 추가했습니다. 이 시리를 이젠 맥용으로도 제작하고 있다고 합니다.

애플은 적어도 2012년부터 시리로 OS X용 테스트 버전을 내부에서 포함시켰을 것으로 보입니다. 이젠 세련된 인터페이스의 준비가 되었고, 애플 사용자에게 공개할 준비가 거의 완료 되었다고 합니다. 애플은 6월 WWC에서 OS X 10.12를 발표할 것으로 알려졌습니다.

알림센터나 아이폰같은 전체화면 대신 맥용 버전은 상태바에 나타날 것이라고 합니다. 사진을 보면 스포트라이트 오른쪽에 시리 버튼이 생길 듯합니다.

시리 버튼을 누르면 오른쪽 위에 알림처럼 시리가 나타나고, 음성입력을 나타내는 Sound Waves가 나옵니다. 디자인은 아직 테스트중이고, 6월의 발표 전에 마무리 될 것으로 보입니다.

맥의 시리는 시스템 설정에 '시리' 설정이 있을 것이라고 합니다. 그리고 시리를 실행하는 단축키를 설정할 수 있다고 합니다. 또한, 전원이 연결되어 있으면 아이폰에서 사용하던 '시리야'가 가능할 것이라고 합니다.

출처 : 9tomac

애플워치, 터치아이디로 맥을 잠금 해제하자!

2016. 2. 25. 00:59

아이폰 5S부터 TouchID를 사용하고, 6S는 TouchID인식 속도가 대폭 개선되었는데요, 아직 맥북에는 터치아이디를 적용하지 않고 있습니다.
맥을 쓰면서 터치아이디로 로그인을 할수 있으면 얼마나 좋을까? 라고 생각해보신 분들 많이 계실겁니다.

맥용 지문인식 장비가 있긴 하지만, 훨씬 낮은 가격으로 지문인식 잠금해제를 체험해볼 수 있는 방법이 있어서 소개합니다.

아이폰과 맥의 Bluetooth LE연결을 이용해서 원격으로 잠금해제하는 것을 기초로 합니다.

이런 류의 어플이 여럿 있는데요, 그중에 제가 소개할 앱은 MacID입니다.
그 동안 이런 류의 앱들이 블루투스 연결에 문제가 있어서 꾸준히 업데이트 되었는데요, MacID는 업데이트가 느리다는 평가를 받았습니다. 그런데 오늘 MacID의 업데이트 내용 중에 백그라운드 App 새로고침을 지원하게 되서 소개해도 괜찮을 것 같다 라는 생각에 포스팅합니다.

MacID는 단순 터치아이디를 넘어서 블루투스를 이용한 다양한 잠금해제 방법을 지원한다는 장점이 있습니다.

다운로드

아이폰/아이패드용 앱

맥용 앱

MacID는 Bluetooth 4.0 LE를 사용하기 때문에 하드웨어 및 소프트웨어의 호환성이 필요합니다.

아이폰과 맥 연결하기

MacID의 연결은 단순합니다.

맥에서 MacID를 실행하고 아이폰에서도 실행하면 위처럼 iOS디바이스가 나옵니다.

맥북의 잠금해제를 위함 암호를 입력합니다. 맥에서 잠금해제를 지원하지 않아서 애플리케이션이 집접 비밀번호를 입력합니다.

아래의 Finish를 누르면 초기 설정 완료!

사진 출처 : macworld.hisong.net

아이폰 앱

메인

맥에 연결된 모습입니다. 블루투스 거리가 멀어서 연결이 끊기면 Recent Devices에 맥이 나타납니다.

이 화면을 아래로 끌면 상단에 작은 글씨로 이용 팁이 나타납니다. 꽤나 많은 기능이 있습니다.

6S지원 업데이트로 설정버튼을 누르는 압력에 따라 애니메이션이 나타납니다.

설정 페이지

ㅋ
ㅎㅎ

터치아이디 & 알림설정, 화면 설정, 바로가기를 만들 수 있습니다.

항상 터치아이디로 잠금해제하거나, 잠금화면에서만 터치아이디를 요구하는 옵션이 있습니다.

앱을 통해 맥에 바로가기를 넣을 수 있습니다.

포스터치

6S 업데이트로 홈화면에서 바로 맥을 잠금해제할 수 있습니다.

맥용 앱

맥용 앱은 초기 설정이 완료되면 메뉴를 통해서만 설정이 가능합니다.

메뉴

Add iOS Device...를 클릭하면 처음 연결할때의 화면이 나타납니다.

아이폰 터치아이디 잠금해제 외에도

맥 잠그기(단축키 지원)
멀어지면 맥을 잠그기
가까워지면 맥을 깨우기
패턴언락
클립보드 전송
(MacID에 저장된) 로그인 비밀번호 변경

그 외 기능들이 있습니다

멀어지면 맥을 잠그기

메뉴에 있던 RSSI값을 참조하여 사용자가 정한 한계점을 넘었을 땐 맥을 자동으로 잠그는 옵션입니다.

블루투스가 끊기면 잠그는 옵션도 있고, 화면을 잠그면 화면보호기를 켜는 옵션, 그리고 전원 옵션이 있습니다.

가까워지면 맥을 깨우기

RSSI값을 참조하여 사용자가 정한 값보다 가까이 오면 화면을 켜는 옵션입니다.

맥을 잠그는데 사용한 값보다 작아야 합니다.

화면을 켤 뿐 아니라 잠금까지 자동으로 해제하는 옵션도 있습니다.

패턴언락

잠금상태에서 트랙패드(포스터치)의 패턴으로 잠금을 해제합니다.

아이폰이 연결되어 있을때만 언락하거나, 맥을 잠글 때 사용할 수도 있습니다.

추가 기능

메뉴 아이콘에 연결된 아이폰 갯수를 표시할 수 있습니다.

메뉴아이콘을 Option키와 같이 눌러야 RSSI값이 나오는데, 기본으로 RSSI값이 나오는 옵션이 있습니다.

단축키 지정이 됩니다(맥 잠그기, 클립보드 전송하기, 맥아이디 재시작 및 종료)

애플 워치

애플 워치를 이용해서 잠금해제합니다.

워치는 잠금해제가 되있다면 착용중인 것이기 때문에 Unlock버튼으로 잠금해제가 가능합니다.

맥에서 Windows키와 Alt키 위치 바꾸기

2016. 2. 18. 21:57

맥을 쓰면서 가장 불편한 점은 Windows와의 단축키 호환성이 아닐까 싶다.

그중 하나는 맥용이 아닌 키보드를 사용하면 Windows = Command키. Alt=Option키인데, 맥용 키보드와 일반 키보드는 그 위치가 서로 달라서 이용하기 꽤 불편하다.

그러다보니 어쩔수 없이 맥을 지원하는 키보드를 찾다보면 비싼 키보드를 사용하기 마련.

그래서 일반 키보드를 맥에서 불편하지 않게 쓰는 방법을 소개하려고 한다.

우선 시스템 설정 -> 키보드를 누른다. 그러면 오른쪽 아래에 보조 키 옵션이 있다.

보조키를 누르면, 각 보조 키에 대한 실행할 동작을 선택하라고 나온다.

키보드를 두개 이상 사용하면 화면 위쪽에 보조 키에 대한 실행 동작을 바꿀 키보드를 선택할 수 있다.

여기서 Option과 Command키를 서로 바꿔주면 일반 키보드에서도 똑같은 레이아웃을 이용할 수 있다.

일본의 맥북 키보드는 Caps Lock의 위치도 조금 다른데, 일본 맥북을 가지고 있다면 활용해서 편하게 이용할 수 있을 것 같다.

컴퓨터 모바일간의 자유로운 파일이동 PushBullet

2016. 2. 18. 16:47

우리나라에선 Windows를 이용할 수 밖에 없는 환경이다.
거기에 게임을 하려면 고사양 PC는 필수.

Mac을 쓰다가 윈도우를 사용해보면 아이폰과 맥의 핸드오프가 절실해진다.
핸드오프만큼은 아니지만, 단순하고 편리한 공유 기능으로 무장한 Pushbullet을 소개해보려고 한다.

Pushbullet는 텍스트 전송과 파일 전송이 쉽고, 안드로이드 iOS, Windows 대표적인 OS는 모두 지원한다. Mac의 경우는 Safari확장기능과 PushPal(유료)라는 3rd party 앱을 사용하면 된다. 크롬과 파이어폭스, 오페라브라우저도 지원한다.

다른 컴퓨터간 파일공유 서비스와와 달리 PushBullet은 자체서버를 이용한다.

PC가 꺼져있어도 PC에 전송할 수 있다. 유료계정을 이용하면 대용량 파일(최대 1GB)도 전송이 가능하다.(무료 25MB)

한 계정에 묶여있는 디바이스중에 선택해서 텍스트(파일)을 전송할 수 있고, 다른 사용자에게도 텍스트(파일)을 전송할 수 있다.

다운로드 : www.pushbullet.com

브라우저 확장기능을 이용하면 현재 접속중인 사이트 주소를 원클릭으로 다른 디바이스에 보낼 수 있다. 브라우저 확장기능은 파일전송은 불가능한데, 맥용 애플리케이션은 없기 때문에 파일전송을 해야 한다면 다른 서비스를 이용하거나 PushPal(유료)를 사용하여야 한다.

특히 안드로이드 버전의 경우 알림, 문자를 컴퓨터를 통해 전송할 수 있다. PC와 안드로이드 간의 파일전송도 가능하다.

iOS의 보안 특성상 아이폰 애플리케이션은 알림전송, 문자전송, 파일전송은 사용할 수 없다.

(알림전송은 애플워치, 문자전송은 맥, 파일전송은 아이튠즈를...)

아래 사진은 PushBullet계정에 안드로이드를 연결했을때의 장면이다.

왼쪽 메뉴에 SMS메뉴가 나타났다. 설정에서 파일공유기능을 켜면 안드로이드의 파일을 가져올 수 있다.

사파리의 확장기능. 현재 접속중인 사이트가 자동으로 나타난다. ActiveX가 필요해지면 전송버튼만으로 PC에서 이용할 수 있다.

아이폰용 PushBullet. 애플리케이션이 SMS와 알림, 다른 애플리케이션의 파일에 접근할 수 없기 때문에, 사진과 텍스트만 전송된다.

+ Recent posts