Author: byun1114

  • 2017/01/04

    자료 재검토를 위하여 3년전에 작성한 R 스크립트를 확인하고, R 스트립트가 없는 부분은 다시 그 과정을 복원 중에 있다. 이 과정에서 다시금 깨닫고 있는 중요한 내용.

    일단 항상 자료는 백업해 놓아야 한다. 이메일 같은 경우는 요즘엔 GB 단위의 저장 용량을 제공하고 있다. 굳이 지우지 말아야 할 내용이 아닌 이상 남겨두는 것이 좋다. 다만, 대용량 첨부 파일로 인한 용량 낭비에 대해서는 상황에 따른 고려가 필요하다.

    R 스크립트는 최대한 이해하기 쉽도록 작성한다. 직관적으로 구성된 것이 아니면, 나중에 이해하는데 많은 시간이 소요된다. 발표 자료를 만들 경우에는 비상시를 대비하여 분석 스크립트 부분도 포함시켜서 화면 저장을 한다.

  • 윤초와 NTP

    2017년 1월 1일은 윤초가 있다. 대부분의 경우에서야 전혀 문제가 없을 것이다. 1초가 어긋나게 되는데, 대부분의 윈도우 기반의 컴퓨터는 1주일 정도마다 시간을 동기화시키고, 이 정도 기간은 1초는 충분히 오차가 생긴다. 하지만, 그래도 시간에 민감한 자료를 취급할 경우에는 중요한 문제가 된다. 컴퓨터의 경우 대부분의 경우는 NTP를 기반으로 한 방식으로 시간을 맞추게 된다. 인터넷 검색을 통한 내용에 의하면 예전에 관련 오류가 수정되기 전에는 CPU 사용량이 100%를 찍는 문제도 있었다고 한다. 이런 문제를 해결하기 위하여 윤초가 적용되는 과정에서 점진적으로 시간을 변경하는 방법이 있고, 구글에서는 이러한 내용을 반영한 Google Public NTP 를 제공하고 있다. 관련 내용은 공식 홈페이지를 참고.

    https://developers.google.com/time/

  • R에서 cpu 사용량 확인하기

    혹시나 쓸 일이 있을까 싶어서 R에서 cpu 사용량을 확인할 수 있는 방법을 찾아보았다. 우선 ubuntu 상에서 cpu 사용량을 확인하는 방법을 찾아 보았다. 몇몇이 있었는데, 그 중에서 쓸만한 것은 mpstat (sysstat 에 포함) 과 uptime 을 이용한 방법이다. 난 R에서 불러올 것이니까 정규식 표현을 이해할 필요는 없었고, 다음과 같은 방법으로 해당 값을 불러올 수 있을 것 같다.

    system(“mpstat”)
    tmp = system(“mpstat”, intern = TRUE)
    tmp1 = tmp[length(tmp)]
    tmp2 = strsplit(tmp1, ” “)[[1]]
    as.numeric(tmp2[length(tmp2)])

    tmp1 = system(“uptime”, intern=TRUE)
    tmp2 = strsplit(tmp1, ” “, fixed=T)[[1]]
    tmp3 = tmp2[length(tmp2) – 2]
    as.numeric(strsplit(tmp3, “,”)[[1]])

     

  • network interface 확인

     

     

    Ubuntu server를 설치하면서 네트웍 설정을 건너뛰면, 다시 ip 설정을 할 때에 네트웍 인터페이스가 뭔지 몰라서 찾아봐야 한다. 예전에는 eth0 이라는 기본으로 설정이 되어 있던 것 같은데, 최근에 내가 설치한 ubuntu 에서는 미묘하게 숫자가 다른 enp~s0 이런 식으로 이름이 붙는다. 이를 확인하기 위하여 여러 방법이 있는 것을 검색을 통하여 확인할 수 있었는데, 가장 편한 것은 이것이다.

    ip link