카테고리 Archives: hardware

Synology DS420+ 메모리 증설 (PC4-3200AA 1Rx8 8GB)

하이마트에서 라이브커머스로 할인이 많이 되어서 50만원 후반대 가격에 DS420+ 를 사게 되었음.

2022-06-02_103859

 

듀얼코어 x86 cpu에 기본 메모리 2GB + 노트북용 메모리 슬롯 한개가 존재함.  아래는 시놀로지 측에서 제공 되는 DS420+ 의 스펙표.

2022-06-02_104059

원활한 사용을 위해서 메모리를 증설 하고자 커뮤니티를 검색해 보았지만 DDR4-2133 ~ DDR4-2666 성공 사례가 있었지만

온라인몰 가격 검색을 해보니까 3200 보다 2133을 더 비싸게 팔고 있는 어이 없는 상황이 확인됨.


보통 상급 메모리는 하급 메모리의 세팅 값을 하위 호환으로 지원 하기 때문에 굳이 아래 등급인 2133을 사용할 필요는 없음. (본인의 H/W 지식)

2022-06-02_105125

위 스크린샷은 시놀로지에 사용할 예정인 메모리의 다른 windows pc 에 작창 해서 CPU-Z 의 SPD 항목임.

 

CPU-Z 의 SPD 항목을 보면 지원 하는 JEDEC 를 표기 하고 있는데 2133에 해당하는 JEDEC 표준이 보이지는 않지만 Report 를 TXT 파일로 저장 해보면 아래와 같은 부분을 찾을수 있음.

리포트 파일에 잘 나와 있지만 DDR4-3200 은 Max bandwidth 일뿐…

 

메모리 콘트롤러는 CPU 내장(SoC)이기 때문에

Intel 제공 J4025 의 스펙뷰 https://www.intel.co.kr/content/www/kr/ko/products/sku/197307/intel-celeron-processor-j4025-4m-cache-up-to-2-90-ghz/specifications.html

확인 결과 DDR4-2400 까지 8GB 까지 된다고 되어 있음.

CPU 스펙뷰는 보통 발표 시점의 메모리 테스트의 호환성 테스트 결과 값이지 제한 값이 아니기 때문에

칩의 집적도가 증가한 현 시점에서는 1랭크(1R) 메모리는 충분히 사용이 가능 하다고 판단되어서

기존에 보유하고 있는 미니 PC의 16GB (8GB x 2개) 중 1개를 빼서 가져다 쓰기로 함. (그냥 봇용 PC 라 큰 메모리가 필요 없는듯 하여…)

IMG_0760IMG_0762

메모리는 1R, 2R 뿐 아니라 고용량으로 가게 될경우 4R 까지도 있다.(이건 보통 서버용…)

실사진을 올려놓고 파는 쇼핑몰을 잘 찾아보면 “삼성  so-DIMM PC4-3200Mhz 1Rx8 16GB”도 존재 한다. (물론 사진과 같은 제품을 파는지는 알수 없다.)

다만 국내에서 메모리를 팔때 랭크(1R or 2R) 까지 공개를 하지 않고 있기 때문에…. 판매하는곳에 랭크를 문의 하시고 구입하시는 편이 좋다.

 

위와 같이 장착 후 시놀로지 부팅 고고…

KakaoTalk_20220601_101500867

 

정상적으로 인식이 되었으며 DSM 도 기본 415play 와 다르게 빠릿빠릿 하게 반응 해줌…

 

아래는 메모리 설치 완료 후 시놀로지에 SSH 접속을 통해 확인한 메모리의 정보. (DDR4-3200 메모리를 넣었지만 다른 메모리에 맞춰 DDR4-2400 으로 작동하는 모습.)


데이터 이전은 마이그레이션 툴을 쓰면 좋으나 415play  가 지원되지 않아서.

파일 스테이션에서 다음과 같이 연결 설정 한뒤에 웹콘솔로 옴기기를 추천함.

구 시놀로지에서 신규 시놀로지를 마운트 해서 데이터를 밀어 넣는게 효과적임. (백그라운드 카피로 진행됨)

KakaoTalk_20220601_234711111_01


메모리가 커지면 무었지 좋은가에 대한 대답은 시놀로지내 Docker 사용시에도 자원이 되고 속도도 빨라진다고 하지만.

DSM도 리눅스 시스템이다. 기본적으로 리눅스든 윈도우든 메모리는 절대 놀리지 않는다.

네트워크 속도가 빠른 요즘엔 SSD/HDD 가 속도를 못따라 가는데 이때 I/O 버퍼로 쓰인다.

(모니터링 툴에서는 보통 이 버퍼로 사용되는 메모리는 free 메모리로 보여 주는 경우가 많다.)

 

ps. so-DIMM PC4-3200Mhz 1Rx8 16GB 를 구매해서 DS420+ 에 장착 후 켜 보았지만 부팅이 되지 않았다. T^T

윈도우 11 출시 ‘ㅅ’a

윈도우 11이 오늘 출시가 되어서 사용중인 mini PC 가 윈도우가 업데이트가 가능한지 확인 해보았다.

케이스/메인보드 Asrock DeskMini X300 SeriesRyzen 3 Pro 4350G 조합이다 ‘ㅅ’a

 

2021-10-05_162507

TPM 2.0 이 없다고 메세지를 띄우고, 공식 Asrock 사이트에서도 TPM 2.0을 지원한다는 내용이 없어서 바이오스를 뒤적뒤적 하다보니

“Advenced” -> “CPU Configuration” > 가장 아래에 “AMD fTPM switch” 설정을 Disable -> Enable 으로 바꾸어 주고 Save & Reboot 를

하고 다시 PC 상태 검사를 진행함.

 

2021-10-05_183635

위와 같이 정상 설치가 가능한 것으로 확인이 되었다.

 

다만 아직 윈도우 11 업그레이드는 무서워서 못하는중…. (호환호환)

Machine Learning 공부 – PlaidML

말로만 듣지 말고 해보자 라는 개념으로 시작했다.

Anaconda3 64비트를 설치 하고 파이선의 venv를 생성 한뒤에 tensorflow 설치 및 keras 설치를 진행 한다.

 

이후 메뉴얼의 트레이닝을 했을때 CPU 연산을 하는것으로 확인이 되었고

연습용 PC 으로 AMD 르누아르 계열을 쓰고 있기 때문에 GPU 연산을 위해 PlaidML 을 설치 진행 하였다.

setup시 대화형인데 동의, 그래픽카드선택, 저장 에 순서 의다.

 

사용방법 – keras를 이용하는 코드에서 아래와 같이 선언만 하면 된다.

 

테스트1 – plaidbench

 

테스트2 – python 코드 VGG19

 

잘 돌기는 도는데 이게 지금 GPU 연산을 하는가? 라는 의문이 있었다.

2020-12-02_174953

위와 같이 작업 관리자의 GPU 그래프가 너무나도 잠잠했기 때문에..

트레이닝을 시켰을때 GPU의 메모리 사용량이 늘은 것을 확인 했으나 GPU 코어 측정 부분이 가만히 있고 덩달아 시스템의 cpu / mem 사용량이 늘어 났다.

 

자세히 디버깅을 하면서 실행 해보니 AI 트레이닝 이전에 CPU/MEM 사용량이 먼저 증가 하였다 ‘ㅅ’a

구동 시나리오상 python도 같이 돌기 때문에 python 이 학습 및 테스트 데이터를 dataframe 에 넣을때 cpu 및 memory 사용량이 늘어나는것 같다.

윈도우 작업 관리자의 GPU 부분은 3D / Copy / Video Encoding, Decoding 등등만 보여주기 때문에 트레이닝시 GPU 로드 그래프 확인이 안되는것으로 추정 된다.

 

그래서 찾은 방법은 GPU-Z 를 설치해서 모니터링 하는 것이다.

2020-12-02_181729

잘된다 🙂

 

다른 방법으로는 트레이닝 시간을 측정해 볼수 있겠다.

CPU연산을 했을때에는 5 columns, 110,281 rows 를 LSTM 연산을 했을때 약 35분 11초(2111초)가 소요 되는 트레이닝이 GPU 연산을 했을때 5분 46초(346초)로 단축이 되었다.

 

PS. PlaidML 은 intel 이 만들었고 keras backend 를 연결하여 intel, AMD gpu를 쓸수 있게 해주는 패키지 이다 ‘ㅅ’a

Nvidia 가 만든 CUDA를 이용하는 구글의 tensorflow 를 쉽게 쓰게 도와주는 keras…

이와 별개로 AMD가 구축하는 ROCm 이 있다 ‘ㅅ’a (이거는 나중에 스스로 공부할때 사용할 키워드를 주절주절 써놓은것…)

2.4Ghz 대역의 블루투스 및 wifi 와 USB3 간섭

USB 는 Universal Serial Bus 이고 일상적으로 쓰는 규격이다.

버전에 따라 최대 대역폭이 달라지는 것은 파동 간격을  줄여 같은 시간에 좀더 많은 데이터 전송을 가능하게 한다.

frequencies

위는 느린 USB 2.0 의 신호 형식(60MB/sec) 아래는 USB 3.0 의 신호 형식(625MB/sec)으로 이해 하면 되겠다.

모든 전자기기는 작동시 전자파를 발생시키는데 USB 3.0 에서 생성하는 전자파가 현재 주로 많이 쓰는

2.4Ghz (블루투스, WIFI) 에 간섭이 이루어 진다. 주로 신호 간섭 때문에 렉 혹은 튀는 증상이다.

이름만 바꾼 (USB 3.1 gen1 / USB 3.2 gen1x1) 도 포함 된다.

 

실험 관련 문서: https://www.intel.com/content/www/us/en/products/docs/io/universal-serial-bus/usb3-frequency-interference-paper.html

 

문서 내용을 종합 하면

2020-10-20_164245

이 그림은 일반적인 사용 환경과 비슷하다. (CASE 1)

보통 usb 2 or 3 가 혼재 되어 있고 그림과 같이 쓰게 되는데

마우스가 2ft (약 70Cm) 이상 멀어지면 렉이 발생한다고 한다.

2020-10-20_164622

CASE 2 의 경우에는 usb 2.0 허브를 이용하여 USB3 포트에서 멀리 떨어트려 사용하는 것을 테스트 한

내용인듯 하여 2ft ~ 5ft (70Cm~180Cm) 까지 정상 사용이 가능했다고 한다 ‘ㅅ’a

 

CASE 3의 경우에는 usb 2 및 3 포트가 위아래로 바로 붙어 있는 형태

(가끔 메인보드에서 본적 있다.) 에서는 2ft ~ 5ft (70Cm~180Cm) 모두 사용 불가.

 

결론.

  1. wifi 및 블루투스 동글 등은 usb 2.0 허브를 이용해 usb3 에서 2ft 가까이 떨어트려서 사용한다.
  2. 인터넷 공유기에 포함된 USB 3.0 은 사용하지 말아야 한다.
  3. USB의 상위 버전은 하위 버전을 연결 할경우 하위 프리퀀시로도 동작이 가능하기 때문에 3.0 포트에 USB 2.0 장치 혹은 허브를 연결해도 된다.
  4. USB 3.0 과 USB 3.1 gen1 과 USB 3.2 gen1 은 단순 리브랜딩 이기 때문에 같은 문제가 있을것으로 판단 된다. (기술적으로 usb 2.0과 usb 3.x gen2 는 좋다 ‘ㅅ’a
  5. USB 3.0 허브를 사용하는 방법은 연결 부위 두곳 모두에서 발생하기 때문에 무선 충돌 해결에 1도 도움이 되지 않는다.
  6. 어쩔수 없는 경우에는 금속 쉴딩으로 어느정도는 해결이 가능하다. (물론 절연처리 된 금속 쉴딩)
  7. 가격적인 고려를 하면 다이소표 usb 2.0 연장 케이블(1M)1,000원 정도 하는걸 사서 동글을 다른 usb 장치 및 연결 부와 이격 시키는게 가장 간단 하다.
    https://search.shopping.naver.com/search/all?query=usb 2.0 연장 케이블

 

PS. 쉴딩 처리 영역에 따른 전파 생성 그래프 ‘ㅅ’a (개인이 EMI 테이프 를 구하는것도 쉽지 않을듯.)

2020-10-20_170258

  1. 외장 하드 기판에 쉴딩
  2. USB 커넥터 부위에만 쉴딩
  3. USB 커넥터 및 커넥터 주위 기판까지 쉴딩
  4. 외장 하드 전체 쉴딩 (알루미늄 or 구리 EMI 필터)

 

smartctl을 이용한 디스크이상 사전 탐지

smartctl 명령어는 하드디스크 롬에 기록되는 형태이다. 때문에 I/O 에러 발생때문에 write가 잠겨
/var/log/messages 상에 찍히지 않는 I/O에러를 검출하는 목적으로 사용할 수 있다.

CentOS 5/6 은 이미 탑재되어 있는 명령어 이지만 Centos 7의 경우 아래와 같이 명령어 추가를 한다.

 

명령어는 작동시간, 부팅횟수, 헤더, 온도, 배드카운터, CRC 에러등등 하드디스크의 모든 종합 정보를 볼수 있다.
클라우드 – 가상디스크는 지원하지 않는다.
일반디스크인데 정보 표기다 되지 않을경우 아래 명령어서 on  시켜줘야 할 수 있다.

 

1. 아래 명령어는 SMART 속성 정보만 표기 한다.

주요 해서 봐야 하는 부분은 아래와 같다.
HEAD spindle error   //   Spin_Retry_Count  (매우 높음) = 헤드가 재 작동을 시도한 횟수.
BAD sector  //   Offline_Uncorrectable  (높음) = 읽기/쓰기에 문제가 발생한 섹터 = 배드 섹터 발생
아래는 약간은 중요도가 떨어지지만 주요해서 봐야 한다.
UDMA_CRC_Error_Count   (낮음) = HDD인터페이스 전송 CRC 오류 (sata 케이블 오류의심)

위 에러중 HEAD 관련 카운트가 1개라도 나온경우 스핀들모터 혹은 리드헤드 쪽에 문제가 발생한것이다.
이는 즉시 데이터 백업 및 디스크 교체를 진행한다.

 

2. 누적된 에러 로그를 호출한다. ‘ㅅ’a

정상일경우 아무런 메세지도 표시되지 않는다. 메세지가 출력되는 경우 아래 상세 테스트를 진행한다.

 

 

3. 상세한 테스트를 한다. ( short 1~2분 소요 / long = 약 두시간 가량 소요 )

백그라운드 테스트가 진행되며 테스트간 off-line 모드가 되고 테스팅 시간은 약 108분 걸린다고 되어 있다.
smartctl -X 명령어로 long 테스트를 중지할 수 있다.

Status 값에 failure 가 떨어질경우 백업 및 디스크 교체를 한다.