Linux & Windows

    Linux 점검 시 유용한 명령어 정리 (updated 2023.03.20)

    1. du -hsx * | sort -rh | head -n 10 해당 파일 안에 용량 높은 순으로 top 10 나타내기 2. df -Ph | grep -v 'tmpfs' 임시 파일 시스템을 제외한 실제 파일 시스템의 사용 현황 정보를 확인 3. mpstat | tail -1 | awk '{print 100-$NF}' 현재 CPU 사용률을 확인 (Idle 값 확인하고싶은 경우 '100-$NF' 대신 그냥 '$NF' 4. ps -o lstart=xxx 해당 PID의 기동 시간 확인 5. lsblk -l Name : 블록 장치의 이름 MAJ:MIN : 메이저와 마이너 장치 번호 RM : 0이면 제거 불가능. 1이면 제거 가능 블록 장치 SIZE : 장치의 용량 R0 : 장치가 읽기 전용인지 여부 TYPE :..

    $'\r': command not found

    스크립트를 돌렸을 때 해당 부분의 발생 원인은 DOS와 UNIX의 개행 방식이 다르기 때문이다. 윈도우는 CR LF를 사용하고 리눅스는 LF를 개행문자로 사용한다. 해당 오류는 다음과 같은 명령어를 실행하면 된다. sed -i -e 's/\r$//' [대상 파일] (참조 : https://isuetracker.tistory.com/770)

    User 계정으로 권한 있는 파일 찾아내서 지우기

    가끔 Linux를 사용하다 보면, 해당 계정으로 생성/변환 하는 권한을 가진 파일들에 한해서 모두 다 삭제를 하고 싶은 경우가 생길 수도 있다. 그때는 아래와 같은 명령어를 사용해서 한번에 다 삭제시킬 수 있다. find ./ -user ${USER} -exec rm -R {} \; => rm -R 옵션은 파일/디렉토리 모두 다 삭제시키는 것을 확인했다.

    TCP CLOSE_WAIT

    트래픽이 많은 웹 서비스를 운영하면, CPU 자체는 여유가 있지만 Web Server 및 WAS가 응답을 제대로 처리하지 못하고 처리 시간이 지연되는 현상을 확인할 수 있다. 이 중 CLOSE_WAIT가 과다하게 걸려서 생기는 현상에 의한 것에 대한 발생 원인 및 해결책에 대한 글이다. 일단 CLOSE_ WAIT을 알기 전에 TCP/IP 통신에 대한 공부가 필요하다. close되는 상태를 확인하자면 우선 Initiator에서 FIN_WAIT_1 에서 close()를 수행하고, Receiver는 ACK를 보낸 이후 어플리케이션에 close()를 수행한다. (완벽하게 이해는 하지 못했지만, 이에 대해서는 다음 기회에 추가적으로 상세히 공부하는 시간을 갖도록 하겠다.) 다만 CLOSE_WAIT가 생기는 이유는..

    profile & Library Path

    UNIX 환경에서 환경 변수를 설정하고자 할 때, profile은 다음과 같은 순서로 적용된다. 1. /etc/profile => 시스템에 로그인할때마다 로드되며, 모든 계정에 공통적으로 적용된다. 2. ${HOME}/.bash_profile(.profile) => 시스템에 로그인할때마다 로드되며, ${HOME} 계정에만 적용된다. 3. /etc/bashrc => bash로 로그인할때만 실행되며, 모든 계정에 공통적으로 적용된다. 4. ${HOME}/.bashrc => bash로 로그인할때만 실행되며, ${HOME} 계정에만 적용된다. (참고 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sdrock&logNo=22150854..

    Linux entropy

    가령 가상서버(UNIX, LINUX)에 weblogic을 기동할 때, 오래 걸리는 경우가 있는데 이는 entropy의 부족으로 일어나는 경우이다. LINUX에서는 random 함수를 사용하는 경우 /dev/random 디바이스를 이용해서 수행을 하게 되는데, 이 디바이스를 Entropy pool이라고 부른다. 위와 같이 Entropy pool의 수가 부족하게 되면 /dev/random 디바이스의 경우 input_pool에서 추출한 데이터를 그대로 사용하게 되기 때문에, 수가 부족할 시 대기를 하게 된다. (즉 소요 시간이 증가하게 된다) 예를 들어 WebLogic은 default로 기동 시 약 200개 정도의 entropy가 필요되는데, entropy pool에 그만큼이 없다면 기동하는데 오래 걸리는 현..

    nohup background

    nohup을 활용하면 Session이 TimeOut 되어도 실행시킨 process는 백그라운드에서 계속 실행된다. # nohup을 사용하는 방법 $ nohup {command} 1> {redirection log path} 2>&1 & # I/O Redirection => 3가지 표준 스트림이 존재한다 1. 화면에 키보드로 입력하는 스트림 : 표준입력(stdin) => 숫자 0 2. 스크린에 출력을 해주는 스트림 : 표준출력(stdout) => 숫자 1 3. 에러를 출력하는 스트림 : 표준에러(stderr) => 숫자 2 # /dev/null => 화면에 출력되는 표준출력을 파일로도 남기고 싶지 않은 경우 /dev/null로 redirect 하면 된다. ex> $ nohup ls -arlt 1>/dev/..

    wc 명령어

    wc 명령어는 해당 파일의 단어 수를 세어주는 명령어이다. 사용법 : wc [Option] [File Name] # 옵션 -c : 문자 수 -m : 캐릭터 수 -l : 라인 수 -w : 단어 수 -L : 가장 긴 문장의 길이 wc 활용법 예시