Coding/기타 (20) 썸네일형 리스트형 Stack Overflow란? * Stack Overflow 개발을 하다가 모르는 점이 생기면, Q & A 형식으로 개발자들 사이에서 활발하게 열려진 토론장의 이름이 Stack Overflow이다. 그러면 이 Stack Overflow의 진짜 의미는 무엇일까? * Stack Overflow 발생원인과 해결 Stack Overflow는 Stack 영역의 메모리가 지정된 범위를 넘어갈 때 발생한다. Stack 메모리는 보통 지역 변수가 저장되는 영역이다. 함수에서 지역 변수를 선언하면 지역 변수는 Stack 메모리에 할당되고 함수를 빠져나오면 Stack 메모리에서 해제된다. 하나의 프로그램이 실행될 때 수많은 함수를 호출하고 빠져 나오게 되는데 그 때마다 함수에서 사용하는 지역 변수는 Stack 영역에 할당되고 해제되는 것을 반복하게 되.. Jupyter notebook - remote server 연결 1. ssh 연결 등을 이용해서 터미널에서 원하는 서버(ex. 192.123.4.567)으로 연결한다 2. 연결한 다음 jupyter notebook을 실행하기 원하는 디렉토리로 이동한다 3. 원하는 디렉토리에서 아래 명령어를 입력해준다 jupyter notebook --ip 192.123.4.567 --port 9090 ip는 연결한 서버를 적어주고, 포트번호를 임의로 정해주면 된다. 4. 크롬과 같은 웹 브라우저를 이용해 접속한다. 접속방법: 웹브라우저 url 창에 192.123.4.567:9090 을 입력해주면 jupyter notebook 사용 페이지가 뜬다. 비밀번호를 입력하라고 뜨는데, ssh 접속으로 접속할 때 서버의 비밀번호가 있다면 그 비밀번호를 적어주면 된다. Kill Nvidia GPU process in Ubuntu 1. nvidia-smi로 gpu 목록 조회해서 process의 pid를 알아낸다. 위의 사진을 보면 0번 gpu에서 메모리를 사용하고 있는데 gpu를 이용한 연산은 진행되고 있지 않다. 이러한 동작을 멈추게 하기 위해서는 kill을 사용하면 된다. 2. Process Kill sudo kill -9 33226 33226자리에 해당하는 process의 pid를 넣어주면 된다. -9는 시그널 종류 중 강제 종료로, 리눅스 커널의 프로세스를 강제 종료한다. 작업중인 모든 절차를 저장하지 않고 프로세스를 종료하기 때문에 데이터가 소멸될 수 있다. (-15 시그널은 정상종료로, 해당 프로세스가 완료된 후 종료되도록 한다.) 출처: https://beerensahu.wordpress.com/2018/11/23/k.. vi 편집기에서 root 권한 파일저장하기 나는 머신러닝 개발을 하면서 학습을 돌릴 때 Remote server에 접속하는데, ssh 접속을 통해 들어간 환경은 ubuntu/linux이다. 따라서 vscode의 remote 연결을 이용해 서버에 접속하고 코드를 수정하긴 하지만 급하면 vi로 코드를 수정하기도 한다. 여기서 vi 편집기로 파일을 수정하자 들어갔을때, root 권한 파일을 일반유저 권한으로 열면 수정한 내용이 저장이 안된다. 그 상태로 많이 수정을 했다면 수정한 내용이 다 날아가는 것이다. vi 편집기에서의 명령모드를 이용해 저장하는 순간에 root 권한으로 바꾸는 방법이 있다. :w !sudo tee % 여기서 %는 현재 파일 명을 의미한다. tee 명령을 통해 현재 수정된 내용을 stdin 으로 전달하여 파일로 기록할 수 있는 것.. 이전 1 2 3 다음