top 은 리눅스에서 아주 유용한 시스템 모니터링 툴 입니다. 매우 많은 옵션도 제공하는데, 그중에서 프로세스의 명령어와 매칭되는 것만 보여주기도 한다. -c 옵션이 그것인데, 다음과 같이 pgrep 과 조합해서 사용할 수 있다.
|
1 |
top -c -p $(pgrep -d',' -f 매칭할스트링) -H |
System Software Engineer
top 은 리눅스에서 아주 유용한 시스템 모니터링 툴 입니다. 매우 많은 옵션도 제공하는데, 그중에서 프로세스의 명령어와 매칭되는 것만 보여주기도 한다. -c 옵션이 그것인데, 다음과 같이 pgrep 과 조합해서 사용할 수 있다.
|
1 |
top -c -p $(pgrep -d',' -f 매칭할스트링) -H |
CentOS 7 에서 많은 변화가 있지만 그 중에 하나가 싱글 모드(Single Mode) 부팅 입니다. CentOS 6 에서 싱글모드 부팅을 위해서 부팅 커널 이미지 옵션으로 1 을 입력하면 되었습니다. 하지만 CentOS 7 에서는 그렇게하면 안됩니다. 이 문서는 CentOS 7 싱글모드 부팅 을 어떻게 하는지에 대한 글 입니다. 1. 싱글모드 부팅 (Single Mode Booting) CentOS 7 에서는 부팅 매니저가 Grub2 로 변경 되었습니다. Grub2 부팅 매니저가 나오면 ‘e’ 를 클릭해서 부팅 커널 이미지를 선택 합니다. 그러면 선택한 커널 이미지에 대한 Grub2 의 […]
Bash 쉘은 명령어 히스토리 기능을 제공 합니다. history 명령어를 입력하면 지금까지 사용했던 Bash 명령어들이 모두 보여 줍니다. 이러한 기능은 사용자 홈 디렉토리에 ‘.bash_history’ 파일에 기록되어 집니다. 그러나 여러 사람이 사용하는 서버에서 각 사용자 홈 디렉토리에 히스토리를 남기기 보다는 리눅스의 syslog 에 남기게 함으로써 사용자가 못된 일을 하는지 않하는지를 감시하도록 하면 좋을 것입니다. 이 문서는 Bash History 를 Syslog 에 남기기 에 대한 것입니다. 1. logger 를 이용한 방법 logger 는 쉘 명령어를 syslog 에 적도록하는 모듈 입니다. 이를 이용하면 수동으로 […]
CentOS 7 은 많은 변화가 있었지만 그중 하나가 네트워크 인터페이스 이름 입니다. 지금까지 네트워크 인터페이스 이름은 eth0, eth1 식으로 고정되어 있었습니다. 하지만 CentOS 7 부터는 바이오스 장치 이름을 조합해서 생성됩니다. 다시 말해서 각 서버마다 네트워크 인터페이스 카드가 모두 동일하다고 할지라도 CentOS 7 에서의 네트워크 인터페이스 이름은 모두 다를 수가 있다는 겁니다. 이 문서는 CentOS 7 에서 네트워크 인터페이스 이름 바꾸기 에 대한 것입니다. 1. 상태확인 CentOS 7 에서의 네트워크 인터페이스 이름은 다음과 같습니다.
|
1 2 3 4 5 6 7 8 9 |
]# ifconfig enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.105 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::a00:27ff:fe97:3935 prefixlen 64 scopeid 0x20<link> ether 08:00:27:97:39:35 txqueuelen 1000 (Ethernet) RX packets 37862 bytes 29870696 (28.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6939 bytes 513516 (501.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
enp0s3 으로 나옵니다. 네트워크 인터페이스 설정 […]
Nvidia 는 AMD 와 함께 그래픽 카드 시장을 양분하고 있는 회사 입니다. 어느쪽이 더 좋은지는 각 회사에 새로운 제품이 출시될때마다 달라질만큼 우열을 가리기 힘듭니다. Nvidia 와 AMD 는 리눅스를 위한 드라이버도 만들어서 배포하는데 CentOS 7 에서 Nvidia Driver 를 설치하는 방법에 대한 것입니다. 사실 AMD HD2600 을 썼었는데 AMD 에서 더 이상 드라이버를 업데이트를 해주지 않아 그래픽 가속을 쓸수 없었는데, 몇일전에 Nvidia Geforce GTS 450 이 손에 들어와서 설치하는 과정을 정리한 글이기도 합니다. 1. Requirement Nvidia Driver 를 설치하기 위해서는 […]
HTTP 에서도 압축전송을 지원 합니다. 이는 Header 에 압축에 대한 정보가 다음과 같이 담깁니다. Nginx Gzip Compression 설정 은 다음과같이 하시면 됩니다.
|
1 |
Content-Encoding: gzip |
압축전송을 하게되면 트래픽을 줄일 수 있어, 서버 호스팅을 이용하는 분들에게는 큰 도움이 됩니다. 사용법은 다음과 같습니다.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# gzip compression 켜기 gzip on; # 파일을 압축하기 위한 최소 파일 크기 gzip_min_length 1100; # gzip 버퍼 크기, 4 32k 면 대부분 상황에서 적당한 크기 입니다. gzip_buffers 4 32k; # 압축을 적용할 파일타입. 파일타입은 MIME 타입을 말함. gzip_types text/plain application/x-javascript text/xml text/css; # 헤더 응답에 "Vary: Accept-Encoding" 리턴. gzip_vary on; # 압축률 지정. 1 ~ 9 사이이며 9가 최고등급의 압축. gzip_comp_level 9; # 압축을 사용하기 위해서 클라이언트에게 HTTP 1.1 사용하도록 요구함. gzip_http_version 1.1; |
잘 동작하는지 다음과 같이 테스트를 할 수 있습니다.
|
1 2 3 4 5 6 7 8 9 10 11 |
curl --header "Accept-Encoding: gzip,deflate,sdch" -I http://linux.systemv.pe.kr HTTP/1.1 200 OK Server: nginx/1.6.1 Date: Mon, 03 Nov 2014 14:22:28 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Keep-Alive: timeout=5 Vary: Accept-Encoding X-Powered-By: PHP/5.3.3 X-Pingback: http://linux.systemv.pe.kr/xmlrpc.php Content-Encoding: gzip |
“Content-Encoding: gzip” 이 보이면 정상으로 설정이 된 것 입니다.
AMD 칩셋을 달고 나오는 저가형 메인보드의 경우에 Atheros 의 Ethernet 칩셋을 탑재하는 경우가 있습니다. 문제는 Atheros Ethernet 드라이버가 윈도우용은 제공하는데 리눅스용은 제공을 않하더군요. 인터넷을 검색해보니까 누군가 리눅스용 드라이버를 제작해 놨는데, 오래된 경우라 최신의 리눅스 커널을 위해서는 패치를 해야하고 그 패치도 누군가 만들어서 올려놨더군요. 이 문서는 Atheros AR81 Family GigaEthernet 리눅스 드라이버를 설치하는 방법을 설명한 것 입니다. 1. 다운로드 첨부파일을 다운로드 하면 됩니다. 첨부파일: AR81Family-linux-v1.0.1.14.tar 2. 설치 먼저, 커널 소스를 설치합니다. 현재 설치된 커널의 버전에 맞는 것을 설치해야 합니다.
|
1 2 3 |
uname -r #2.6.18-398.el5PAE yum install kernel-PAE-devel |
Atheros […]
아파치 웹 서버에는 접속에 대한 로그를 남길 수 있습니다. 로그의 형식은 다양하지만 대략적으로 어느 컴퓨터(IP 주소)에서 어떤 기기, 어떤 프로그램을 이용해서 어떤 웹 페이지를 접속했는지, 각 컨텐츠의 전송량등의 정보가 담깁니다. 이 문서는 아파치 로그 분석하기 에 대한 것입니다. 전송량 통계 로그 파일에 컨텐츠의 전송량이 담기기 때문에 이것들을 전부 더하면 아파치 웹 서버가 내보낸 전송량을 알 수 있겠지요? awk 쉘 스크립트로 간단하게 할 수 있습니다.
|
1 |
awk '{ s += $10 } END { print "Total ", s/1024/1024 " MB", "- Average ", s/NR/1024/1024 " MB", "- Access ", NR }' access_log |
여기서 중요한 것이 access_log 파일에 전송량을 표시하는 위치 입니다. 위 명령어 앞줄에 ‘s += $10’ […]
Apache 설정 중에 Directory 디렉티브(Directive) 내에서 Options, AllowOverride 등을 사용할 수 있는데 이에 대해서 자세히 알아 보겠습니다. AllowOverride AllowOverride 는 AccessFileName 에 지정한 파일에서 아파치의 설정을 덮어쓸 수 있도록 해줍니다. 보통 AccessFileName 에는 .htaccess 를 지정해주고 DocumentRoot 에 .htaccess 파일에 아피치 설정에 대한 것을 해두면 아파치는 이 파일을 읽어서 반영해 줍니다. 만일 AccessFileName 을 지정하지 않았고 .htaccess 파일이 필요없을 경우에는 AllowOverride 를 사용할 필요가 없기 때문에 다음과 같이 None 으로 설정해주면 좋습니다.
|
1 2 3 |
<Directory "/home/nymph203/www"> AllowOverride None </Directory> |
AllowOverride 를 사용할때에 지정할 수 있는 […]
컴퓨터에서 디스크의 의미는 매우 중요합니다. 사람의 데이터를 영구적으로 보관해야 할 의무를 가지 때문이지요. 이러한 디스크에 문제가 발생한다면 데이터를 영구적으로 잃을 수도 있고 오늘과 같이 IT 를 기반으로 사회가 움직이는 마당에 그러한 일이 발생한다면 큰 금전적인 손실을 입을 수도 있습니다. 이렇게 중요한 디스크의 문제나 오류를 차단하기 위해서는 주기적으로 점검을 해야할 필요가 있는데, 리눅스 시스템에서는 이러한 유용한 도구를 제공 합니다. smartctl smartctl 도구는 S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) 기능이 탑재된 하드디스크를 점검하는 도구 입니다. 사실상 S.M.A.R.T 의 기능을 이용하는 도구이다보니 이 […]