Linux] cpu 개수 알아내기

텔넷/ssh 상에서

# grep processor /proc/cpuinfo | wc -l

* 제 서버의 경우 cpu 코어가 8개 있는 걸로 확인 되었습니다.


이 방법외에도

# grep processor /proc/cpuinfo


이렇게도 확인이 가능합니다.

저작자 표시 비영리 변경 금지
신고

시스템 모니터링 및 부하분석 도구 Sysstat 설치하기

시스템이 갑자기 느려지거나 끊기는 느낌이 있을경우 시스템 모니터링/부하분석 을 위해 사용하는 Sysstat를 설치해 보겠습니다.


Sysstat설치


Sysstat 설치여부 확인

# rpm -qa sysstat

Sysstat 설치 가능여부 확인

yum info sysstat | egrep "(^Version|^Release|^Repo)"



*제 서버에는 이미 sysstat가 설치되어 있어 이미 설치된 상태로 나옵니다.특별한 경우가 아닌 이상 yum패키지를 이용해 sysstat설치가 가능 합니다.


Sysstat 설치

# yum install sysstat


Sysstat 설치여부 확인

*제대로 패키지가 설치되었는지 확인 합니다.

# rpa -qa sysstat


저작자 표시 비영리 변경 금지
신고

리눅스 free 메모리 지정

서버를 운영하다 보면 free 메모리들이 캐시 메모리로 넘어가 정작 free 메모리가 부족할 수 있습니다. 정작 중요할때 할당할 free 메모리가 부족한 상황이 올 수도 있습니다.그럴때에는 최소 free 메모리 사이즈를 지정해 free 메모리가 cache 메모리가 되는 현상을 방지 할 수 있습니다.


최소 free 메모리 사이즈 지정


#  sysctl -w vm.min_free_kbytes=70000

* free 메모리 사이즈 지정 용량 단위는 kb 입니다. 숫자에 70000대신 원하는 숫자를 기입하시면 됩니다.


Cached된 메모리를 free 메모리로 변환


# sudo sync

# sudo sysctl -w vm.drop_caches=3

# sudo sysctl -w vm.drop_caches=0

 

저작자 표시 비영리 변경 금지
신고

리눅스 메모리 사용량순 프로세스 보기 tip

홈페이지 속도가 현저히 떨어지거나 버벅거릴때 정확한 메모리,cpu  사용량을 알아야 할 때가 있습니다.

그럴때 간단히 텔넷/ssh로 확인이 가능합니다.


리눅스 메모리 사용량순 프로세스 보기


# ps -ef --sort -rss

*메모리 사용량이 높은 순으로 정렬되어 나옵니다. 제 서버의 경우 mysql과 apache 사용량이 제일 높게 나오네요.

또 다른 방법

# ps -ef --sort -rss | head -n 11

* 11대신 다른 숫자를 대입해도 됩니다. 

# ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,cmd --sort -rss | head -n 11

혹은

# ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,comm --sort -rss | head -n 11

이걸로 하시면 됩니다.(명령인수 숨기기)

첫번째 명령어로 실행시

*메모리 사용량과 cpu 사용량이 %로 나옵니다.

두번째 명령어로 실행시(명령인수 제외)


저작자 표시 비영리 변경 금지
신고

yum이 제대로 작동하지 않을때 해결 방법

yum이 제대로 작동되지 않거나 느릴경우에는 텔넷/ssh상에서 다음의 명령어를 입력 합니다.

# yum clean all

yum clean all은 캐시되어 있는 yum의 헤더와 패키지를 모두 제거 하는 명형어 입니다. 여기서 all은 clean expire-cache, clean headers,clean metadata, cleandbcache,clean rpmdb,clean expire-cache,clean plugins를 의미 합니다.

yum clean all 대신 yum clean headrs;yum clean metadata 를 사용할 수도 있습니다.


# yum check  *yum 패키지를 체크합니다.

# yum check-update  *서버에 설치된 yum 패키지 중에서 업데이트가 가능한 목록을 보여줍니다.


저작자 표시 비영리 변경 금지
신고

yum 패키지 update 하기

vps/서버 호스팅을 하게 되면 apm설치 다음으로 꼭 필요한 작업이 바로 yum 패키지 업데이트라 생각 합니다.


yum 패키지 업데이트


# yum update

업데이트 할 패키지 목록이 나옵니다. 패키지를 설치 할거면 y, 설치 하지 않을 거면 N을 눌러 설치를 취소 합니다.

*설치가 완료된 패키지  yum 패키지





저작자 표시 비영리 변경 금지
신고

아파치 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 에러 발생시 해결방법

서버를 운영하거나 아파치를 새로 설치한 경우 가끔씩 아파치가 맛이간 경우가 생깁니다. 아파치 재시작이나 시작을 하였을때 

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80

이란 에러가 나오면서 제대로 아파치가 실행이 되지 않을 때가 있습니다.


그럴 때에는 먼저 실행중인 httpd 프로세스를 모두 강제 종료 시킵니다.

# ps ax | grep httpd | awk '{print $1}' | xargs kill


그런 다음 80포트로 바인딩되어 있는 프로세스를 확인한 후 그 프로세스도 종료 시킵니다.

# netstat -nlp | grep :80

프로세스 종료

# kill -9 (프로세스 아이디)

ex: 스크린샷에 있는 아파치를 종료시킨다로 한다면 # kill -9 1965 이 됩니다.


아파치 시작

위의 과정을 모두 완료 했다면 아파치 재시작을 합니다.

# service httpd start

# service httpd restart



저작자 표시 비영리 변경 금지
신고

Centos] 텔넷/ssh상에서 root 패스워드 변경

root 비밀번호 변경


텔넷/ssh에 접속한 상태에서 다음 명령어로 root 비밀번호 변경을 실행 합니다.

# su
# passwd


* root 패스워드는 해킹방지를 위하여 되도록 어렵게 설정합니다.
* 패스워드가 너무 짧거나 단순하면 'BAD PASSWORD' 경고문이 나타납니다.


저작자 표시 비영리 변경 금지
신고

PHP 서버 정보 확인하기

Php 정보 확인 방법은 여러가지가 있습니다. 간단하게 버전만 확인하는 방법으로는 기본적으로 3가지 정도 있습니다.


PHP 버전정보 확인 


php 이용

# php -v

# php --version

*php -v 로 확인한 모습

rpm 이용

# rpm -qa php

*rpm으로 확인한 php 버전

yum 패키지 이용

# yum list installed php

*yum 패키지를 이용한 php 버전 확인


PHP 서버정보 확인


현재 서버에 설치된 php 패키지/모듈정보를 자세히 알고 싶을 때는 phpinfo.php 파일을 작성해 서버에 업로드 한 후 확인하는 방법이 있습니다.

<?php

phpinfo();
?>

메모장이나 노트패드를 이용해 작성한다음 phpinfo.php 로 저장한 후 서버에 업로드 합니다.

phpinfo 대신 다른 이름을 넣어도 상관은 없습니다. 보안에 민감한 경우 phpinfo 대신 다른 글자를 써 넣는걸 추천 합니다.


워드프레스,그누보드,xe 등이 설치된 루트폴더에 phpinfo.php 파일을 업로드 하였으면 주소는

http://www.domain.com/phpinfo.php가 됩니다.



* 웹에서 확인한 php 서버 정보


www.도메인.com/phpinfo.php 로 접속하면 위 스크린샷 처럼 php 서버정보나 나열됩니다.


저작자 표시 비영리 변경 금지
신고

리눅스 swap 메모리 초기화 하기

서버의 RAM 용량이 차게 되면 자동으로 swap 메모리가 사용 됩니다. swap는 하드 디스크 메모리를 swap 메모리로 만들기 때문에 서버의 속도 뿐만 아니라 사이트의 속도도 느려지게 됩니다.

커뮤니티 사이트를 운영하면서 사이트뿐만 아니라 텔넷도 상당히 느려져 호스팅 업체에 문의 한 적이 있는데, 그때 받았던 답변이 swap 메모리 사용량이 높아져 이것 때문에 서버와 텔넷 접속속도가 느려진 것이었습니다.


Swap 메모리 초기화 하기


먼저 서버 메모리의 상태를 확인합니다.

# free -m

free 명령어를 사용해 메모리 상태를 확인합니다. 이때 -b,-k,-m-g로 메모리 용량의 단위를 나타낼수 있습니다.

-b: byte

-k:kb

-m:mb

-g:gb


노란색상자 부분이 Swap 메모리 부분입니다. 빨간색상자 부분이 메모리 사용량을 나타내는 부분입니다.

이때 swap 메모리가 사용됨이 확인 되었고, 후에 메모리 가ㅎ고 용량이 늘어도 swap 메모리는 줄지 않고 그대로라면 swap 메모리 초기화를 해주시는게 좋습니다.


swap 메모리 비활성화

# swapoff -a

swap 메모리 활성

# swapon -a


swap 메모리 설정

# cat /proc/swaps 


제 서버의 경우 약 4gb의 용량이 swap 메모리로 설정되어 사용되고 있는걸 확인 하실수 있습니다.

자신의 서버에 할당된 swap 메모리 용량이 높거나 낮으시면 이 값을 변경하시면 됩니다. *아파치 재시작 필요


swap 메모리 사용빈도 설정

서버 swap 메모리 사용빈도 확인

# sysctl vm.swappiness  또는

# cat /proc/sys/vm/swappiness

vm.swappiness = 60 *기본값은 60 입니다.

이 값이 100에 가까울수록 swap를 최대한 쓰겠다 

이 값이 0에 가까울수록 swap를 최대한 쓰지 않겠다

이니 swap 메모리를 많이 사용하실분은 숫자를 높게, 사용하지 않으실 분은 숫자를 낮게 설정 하시면 됩니다.

swap 메모리를 사용하지 않으려면 먼저

# vi /etc/sysctl.conf 

sysctl.conf에서 vm.swappiness=0 설정을 추가하고 

echo 0 > /proc/sys/vm/swappiness

명령어를 이용해서 적용 하시면 됩니다.


참조 사이트

http://forums.gentoo.org/viewtopic.php?t=175419


저작자 표시 비영리 변경 금지
신고