약 몇 달 동안 실행된 AIX 시스템(AIX p740 1 7)에서 일부 포인트는 더 이상 재사용되지 않습니다.
몇 주 동안 매일 실행되는 "who" 명령과 다음 "awk" 표현식을 사용하여 이를 확인했습니다.
who | awk '{ printf "%s %s\n", $2, $1 }' | awk -F'/' '{ printf "%s\n", $2 }' | sort -n | awk 'BEGIN{port=$1} {if (port+0 != $1) {printf "--- FREE PTS: %s - %s\n", port, $1-1}; printf "pts/%s (%s)\n", $1, $2; port=$1+1 }'
일반적인 출력에는 항상 pts/14가 사용 가능한 것으로 표시되는 반면 다른 모든 포트(예: 0, 1, 2 등)는 밤에 사용 가능해지고 다음 날 다시 할당됩니다. 단, 포트 14는 제외됩니다. pts/14와 동일한 동작입니다. 하루에 약 600개의 포트가 사용되기 때문에 분석은 포트 14에서 중지됩니다.
pts/0 (foo)
pts/1 (foo)
pts/2 (foo)
pts/3 (foo)
pts/4 (user12)
pts/5 (bar)
pts/6 (user12)
pts/7 (foo)
pts/8 (user13)
pts/9 (foo)
pts/10 (foo)
pts/11 (foo)
pts/12 (bar)
pts/13 (foo)
--- FREE PTS: 14 - 14
pts/15 (foo)
pts/16 (foo)
pts/17 (user13)
pts/18 (user13)
원인을 알 수 있는 방법이 있나요? 이 포트를 "해제"하시겠습니까?
답변1
who
로그인 정보만 표시됩니다. 예를 들어 tmux
/는 screen
pty를 열지만 로그인으로 간주되지는 않습니다. 나는 당신이 프로세스 (pid) 를 찾을 수 있다고 생각합니다 fuser /dev/pts/14
.
(저는 lsof
이것을 Linux에서 사용할 것이지만 fuser
모든 posix 시스템에서 작동할 것입니다).