본문 바로가기

기술/Linux

(17)
Linux) iptables란? 기본으로 8080으로 뜨는 스프링부트 어플리케이션을 80으로 띄워야 할 때 매번 이 방법을 써먹었는데 이게 뭘 의미하는 명령어인지는 전혀 몰랐다. 하도 자주 써먹어서 이제 알아보자! /etc/iptables.rules" $ vi /etc/network/interfaces >> 여기에 아래 라인 추가하고.." data-og-host="seungyooon.tistory.com" data-og-source-url="https://seungyooon.tistory.com/225" data-og-url="https://seungyooon.tistory.com/225" data-og-image="https://scrap.kakaocdn.net/dn/cBoAJn/hyMXL82QRF/f0pVkHKfbKk1uAR7CP3..
Linux/Java/VSCode) Gradle -> ERROR: JAVA_HOME is set to an invalid directory: 해결 왠지 모르게 어느날부터 자바 셋팅이 꼬였는데 일단 gradle도 안되는 상황 ㅠㅠ 개발 환경 mac -> vscode -> ssh -> remote linux server 맥에서 vscode로 리눅스 서버 접속 (remote extension 사용) 우선 jdk는 서버에 설치가 잘 되어 있는 상황이었다. (javac --version) 하니까 잘나옴 1. $ which java /usr/bin/java 2. $ readlink -f /usr/bin/java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 여기서 뒤에 bin/java는 뺴야함 3. sudo vi /etc/bash.bashrc export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-..
Linux/vscode) vscode로 remote 환경 연동, Error: EACCES: permission denied 에러 해결 vscode에 extension 중 remote-development를 설치하고, ssh connection을 한 뒤, config 파일에 해당 원격 서버에 사용할 pem 파일을 등록한 후, 연결 성공! ** 이때 로컬에 저장된 pem 파일의 권한은 반드시 400으로 설정돼 있어야 한다. $ chmod 400 [pem파일이름].pem 근데 로컬에 있는 파일을 원격 서버에 올리려니까 아래와 같은 에러가 뜬다. 원격 서버 프로젝트 폴더의 권한이 root라서 안되는 것이었다. 그래서 호스트 권한을 변경! $ chown -R [host_name] * 해결!
리눅스/Ubuntu) 80포트 8080으로 포워딩 하기 $ sudo su $ iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 $ sh -c "iptables-save > /etc/iptables.rules" $ vi /etc/network/interfaces >> 여기에 아래 라인 추가하고 저장 pre-up iptables-restore < /etc/iptables.rules 우분투 서버에서 8080포트로 실행된 스프링부트 프로그램을 80포트 접속시 실행되게 하고 싶었다. nohup gradle bootRun 하니까 백그라운드로 실행되고, 포트넘버 80으로 접속해서 잘 접속됨!
리눅스/Ubuntu) Huge page 관련 실험 과정 실험 1 1. FIO 실행 --> free -m 으로 cache 할당량 확인후 메모리가 거의full 될 때 까지 대기 2. XSBench 실행 --> cat /proc/meminfo | grep Anon 으로 Anonymous 메모리 할당량 및 Hugepage 할당량 확인 --> 1초마다 로그 남기기 1. THP 활성화 echo always > /sys/kernel/mm/transparent_hugepage/enabled echo always > /sys/kernel/mm/transparent_hugepage/defrag 2. FIO 설치 $ apt-get install fio 사용법 Random Read : fio --directory=[마운트한 폴더명] --name [파일 이름] --direct=1 ..
리눅스/Linux) Ubuntu THP 활성화 / 비활성화 ~/transparent_hugepage/enabled 리눅스에서 THP 활성화 또는 비활성화 시키기 // THP 활성화 여부 확인 $ cat /sys/kernel/mm/transparent_hugepage/enabled >> always [madvise] never $ sudo su // password 입력 // 활성화 $ echo always > /sys/kernel/mm/transparent_hugepage/enabled $ cat /sys/kernel/mm/transparent_hugepage/enabled >> [always] madvise never // 비활성화 $ echo never > /sys/kernel/mm/transparent_hugepage/enabled $ cat /sys/kernel/mm/transparent_hugepage/en..
Linux address mapping, NUMA, virtual NUMA, SMP, vCPU Preemption, FxMark, memory compaction, THP, Buddy, cgroups, Lock, ftrace, Linux memory protection etc 가상화 환경에서의 NUMA 기반 락 성능 분석 논문 작업을 하면서 백그라운드 공부하면서 간략하게 정리해둔 것들입니다. Notion에 정리해 두어 아래 링크를 참조해주시면 감사하겠습니다. 저도 그냥 개념 공부하면서 이해하기 위해 작성한 글이라 깔끔하지 못한 점 양해 부탁드립니다. Basic Background Knowledge A new tool for teams & individuals that blends everyday work apps into one. www.notion.so
리눅스 커널 심층 분석 개정 3판 : 15장. 프로세스 주소 공간 Linux Kernel Development Third Edition : Chapter 15. The Process Address Space 리눅스 커널 심층 분석 개정 3판 : 15장. 프로세스 주소 공간 Linux Kernel Development Third Edition : Chapter 15. The Process Address Space 리눅스 커널 심층분석 이 책은 리눅스 커널의 핵심을 간결하면서도 심도있게 다루고 있다. 일반적인 운영체제에 대한 이해를 넘어, 여타 유닉스 시스템과 다른 리눅스만의 특징적인 부분에 대한 설계, 구현, 인터페이 book.naver.com Notion에서 보기 The Process Address Space => 이번 챕터에서는 커널이 어떻게 process address space*를 관리하는지 다룸 *Process address space: 시스템 상에서 유저 스페이스 프로세스 각각에 주어진 메모리 / ..