검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 프로그램과 명령어/커맨드 라인 트릭
참조 원문 : How to find which process is eating RAM in Linux

  매우 간단하고 짧은 팁으로써 램 사용량을 기준으로 프로세스 목록을 내림차순으로 정렬하여 보는 방법입니다. 'top' 명령어를 실행합니다. 'M(대문자)'을 누릅니다. 끝.

  커맨드 라인으로 몇 가지 명령어를 조합하여 확인하는 방법도 소개합니다. 당장 실시간 확인 용도라면 사실 위의 방법이 더 좋고 아래 방법은 보고서 생성 같은 용도의 쉘 스크립트에 활용하기 좋을 듯 싶습니다. 다만 그런 용도라면 모니터링 툴로 생성된 그래프 그림이 더 좋을 것 같네요.
$ ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 21
PID %MEM COMMAND
5669 1.2 /usr/sbin/mysqld
2226 0.7 /usr/sbin/named
19677 0.5 /usr/sbin/apache2
20024 0.5 /usr/sbin/apache2
20083 0.5 /usr/sbin/apache2
20085 0.5 /usr/sbin/apache2
20099 0.5 /usr/sbin/apache2
20204 0.5 /usr/sbin/apache2
20205 0.5 /usr/sbin/apache2
20206 0.5 /usr/sbin/apache2
20207 0.5 /usr/sbin/apache2
20208 0.5 /usr/sbin/apache2
14498 0.3 /usr/sbin/apache2
32651 0.2 /usr/sbin/smbd
4413 0.1 /usr/sbin/winbindd
5100 0.1 /usr/sbin/smbd
6283 0.1 /usr/sbin/openvpn
19873 0.1 sshd:
1659 0.1 dovecot-auth
19723 0.1 /bin/bash
2010/12/15 20:55 2010/12/15 20:55
Posted
Filed under 프로그램과 명령어/커맨드 라인 트릭
참조 원문 : Quick Shell Tip: Remove grep command while grepping something using ps command

  ps 명령어의 결과를 grep을 사용해 필터링하면 명령어를 실행한 쉘 프로세스가 자신의 grep 명령어로 인해 같이 검색되서 나옵니다. 아래 결과의 첫 번째 줄처럼 말이죠.
mirashi@myservlab:~$ ps aux | grep cron
root      1190  0.0  0.0   2092   876 ?        Ss   Nov10   0:04 cron
mirashi   2681  0.0  0.0   3048   792 pts/0    S+   10:31   0:00 grep cron
  이걸 방지하는 첫 번째 방법은 평범하게 필터링 결과에서 'grep'이 들어간 줄을 다시 제외시키는 겁니다.
mirashi@myservlab:~$ ps aux | grep cron | grep -v grep
root      1190  0.0  0.0   2092   876 ?        Ss   Nov10   0:04 cron
  그 다음 방법은 좀 특이한 방법인데 명령어와 실제 필터링 대상을 다르게 만드는 겁니다.
mirashi@myservlab:~$ ps aux | grep [c]ron
root      1190  0.0  0.0   2092   876 ?        Ss   Nov10   0:04 cron
  이게 뭔 의미냐면 정규식 자체로 볼 때 'cron'과 '[c]ron'에는 결과적으로 아무런 차이가 없지만 grep 명령어를 사용할 때 입력한 문자열 자체는 '[c]ron'이기 때문에 ps의 결과에서는 '[c]ron'로 출력됩니다. 하지만 이 명령어로 인해 검색하는 것은 '[c]ron'이라는 문자열이 아니라 'cron'이기 때문에 결과에 출력되지 않는 겁니다. 아무튼 세상엔 머리 좋은 사람이 많은 것 같습니다.

  이걸 더 쉽게 사용하는 방법은 자신의 홈 디렉토리에 있는 .bashrc 파일에 아래의 함수를 추가하고 사용하는 겁니다.
function pps(){ ps aux | grep "$@" | grep -v 'grep'; }
  위 함수를 추가하고 다시 로그인하거나 '. .bashrc'로 리로딩하면 간단하게 아래와 같이 사용할 수 있습니다.
mirashi@myservlab:~$ pps cron
root      1190  0.0  0.0   2092   876 ?        Ss   Nov10   0:04 cron


2010/12/02 11:11 2010/12/02 11:11