GoDaddy 도움말

귀하를 위해 최선을 다해 이 페이지를 번역했습니다. 영어 페이지도 이용할 수 있습니다.

Linux 서버의 CPU 및 메모리 검토

CPU 및 메모리 (RAM)와 같은 리소스는 사이트 기능의 필수적인 부분입니다. 코드를 너무 많이 사용하면 사이트가 느려지거나 아예 작동하지 않을 수 있습니다. 다른 모든 프로세스 (예 : 이메일)는 서버의 사이트와 동일한 리소스를 공유합니다. (예상 된) 공정한 공유 이상을 차지하는 모든 프로세스는 서버를 완전히 중단시킬 수 있습니다.

리소스 사용량을 확인해야하는 이유는 무엇입니까?

  • 데이터베이스 기반 사이트 (예 : WordPress)가 느립니다.
  • 이메일이 도착하는 데 시간이 오래 걸립니다.
  • 사이트에 오류가 표시되거나 그냥 회전합니다.
  • 서버에서 수행되는 작업이 평소보다 오래 걸립니다 (예 : 백업).

리소스 사용량을 어떻게 확인합니까?

Linux는 top , sarwatch 와 같은 CPU 및 메모리 사용량을 조사 할 수있는 여러 도구를 제공합니다.

top 명령을 사용하면 실행중인 시스템 작업을 실시간으로 볼 수 있습니다. 가동 시간, 평균로드, CPU 및 메모리 사용량과 같은 전체 정보를 볼 수 있습니다. -c 스위치를 사용하면 COMMAND에서 프로그램 이름을 볼 수 있습니다. 바로 가기 키의 전체 목록을 보려면 SSH의 man top 을 사용하십시오.

[root @ server ~] $ top -c top-15:08:23 up 115 일, 6:37, 2 사용자,로드 평균 : 1.76, 1.35, 1.13 작업 : 총 330 개, 1 개 실행 중, 326 개 대기 중, 0 개 중지됨, 3 좀비 CPU : 0.7 % us, 2.9%s y, 0.0 % ni, 81.5 % id, 14.9 % wa, 0.0 % hi, 0.1%s 나는, 0.0%s t Mem : 총 32754672k, 28808088k 사용, 3946584k 사용 가능, 321260k 버퍼 스왑 : 총 8388604k, 사용 25992k, 8362612k 사용 가능, 8140560k 캐시 된 PID USER PR NI VIRT RES SHR S % CPU % MEM TIME + COMMAND 6926 mysql 20 0130g 16g 22m S 12.0 52.2 27065 : 56 / usr / sbin / mysqld --basedir = / usr --datadir = / var / lib / mysql --plugin-dir = / usr / lib64 / mysql / plugin 2454 td-agent 20 0 1210m 160m 2440 S 0.7 0.5 347 : 19.48 / opt / td-agent / embedded / bin / ruby -Eascii-8 비트 : ascii-8 비트 /

시스템 활동보고자 (sar) 는 서버의 사용 통계를 모니터링하는 데 도움이되는 도구입니다. Sarsysstat 패키지의 일부입니다. sar 명령 만 사용하면 지난 24 시간 동안의 통계가 제공됩니다.

sar -f 를 사용하면 해당 날짜의 오전 12시에 시작하는 기록 로그 파일을 볼 수 있습니다.

[root @ server ~] $ sar -f / var / log / sa / sa10 Linux 2.6.32-042stab141.3 (server-hostname.net) 01/10/2022 _x86_64_ (24 CPU) 12:00:01 AM CPU % user % nice%s ystem % iowait%s 청록색 % idle 12:10:01 AM 모두 1.92 0.00 0.39 0.00 0.00 97.69 12:20:01 AM 모두 1.63 0.00 0.34 0.00 0.00 98.02 12:30:01 AM 모두 1.64 0.00 0.41 0.01 0.00 97.94 12:40:01 AM 모두 2.85 0.00 0.61 0.00 0.00 96.54 12:50:01 AM 모두 2.71 0.00 0.57 0.01 0.00 96.72 01:00:01 AM 모두 2.02 0.00 0.38 0.00 0.00 97.60 01:10:01 AM 모두 1.43 0.00 0.30 0.00 0.00 98.27

sar -r 은 여유 및 사용 된 메모리 통계를 표시합니다.

[root @ server ~] $ sar -r Linux 2.6.32-042stab141.3 (server-hostname.net) 02/02/2022 _x86_64_ (24 CPU) 12:00:01 AM kbmemfree kbmemused % memused kbcached kbcommit % commit 12:10:01 오전 99454800 32354304 24.55 1429856 22624260 8285744 5.91 12:20:01 오전 99760972 32048132 24.31 1429884 22631184 7960428 5.68 12:30:01 오전 99751920 32057184 24.32 1429920 22638392 7974804 5.69 12:40:01 오전 99638056 32171048 24.41 1429960 22643192 8035000 5.73 12:50:01 오전 99752696 32056408 24.32 1430012 22644804 7891100 5.63

Linux 시계 를 사용하면 명령 또는 작업이 완료되거나 실행되는 것을 볼 수 있습니다. watch "mysql -e'show full processlist; '" 는 실행중인 모든 mysql 쿼리를 표시하며 2 초마다 업데이트됩니다.

2.0 초마다 : mysql -e'show full processlist; ' Sat Feb 12 11:09:56 2022 Id 사용자 호스트 db 명령 시간 상태 정보 26574057 mysql_db1 localhost mysql_db1 쿼리 2 SELECT * from db_data_main where DOT_NUMBER = 1381207 26574063 mysql_db1 localhost mysql_db1 Query 1 Sending data SELECT * from db_data_main where DOT_NUMBER = 3173380 26574064 mysql_wp3 localhost mysql_wp3 휴면 0 NULL 26574068 root localhost NULL 쿼리 0 init 전체 프로세스 목록 표시

다음 단계

높은 리소스 사용량은 악성 트래픽이나 중단 된 프로세스 (대용량 백업 등)로 인해 발생할 수 있습니다. 트래픽이나 중단 된 프로세스로 인한 것이 아닌 잦은 높은 리소스 사용량은 최적화 또는 업그레이드를 통해서만 해결할 수 있습니다. 서버와 사이트를 최적화하지 않는 경우 업그레이드는 일시적인 수정일뿐입니다.

최적화 할 때가되었다는 징후 (서버 및 사이트)

  • 악의적 인 트래픽으로 인한 것이 아님
  • 사이트 코드가 오래되었거나 사용되지 않는 오류가 생성됨
  • CPU 사용량은 많지만 메모리 사용량은 적습니다.
  • 트래픽이 증가하면 MySQL 쿼리가 지연됨

업그레이드 할 때가되었다는 신호

  • 귀하의 사이트에 대한 트래픽이 꾸준히 증가하고 있습니다.
  • 귀하의 사이트 요구에 맞게 서버가 최적화되었습니다.
  • 긴 mysql 쿼리를 제거하고 최신 버전의 PHP를 지원하도록 코드를 업데이트하여 사이트를 최적화했습니다.
  • 캐싱 (예 : Memcache)을 사용하고 있지만로드가 여전히 높습니다.