Linux 문제 해결 - 간단한 입문서

처음에!



Linux는 오랫동안 사용되어 왔으며 대부분의 웹은 Linux, FreeBSD에서 실행됩니다. Linux는 어디에나 있지만 Linux 서버 문제를 해결할 때 배워야 할 표면 아래에는 많은 것들이 있습니다. 고객을 위한 기술 지원을 수행할 때 사용했던 몇 가지 명령을 살펴보겠습니다.

명령



netcat/nc



고객은 종종 내 도메인이 특정 포트에서 작동하지 않는다고 말하거나 고객이 포트에서 애플리케이션을 호스팅해야 하지만 작동하지 않는다고 말합니다.

$ sudo nc --verbose  google.com 443
Ncat: Connected to 216.58.203.14:443.
Ncat: 0 bytes sent, 0 bytes received in 0.10 seconds.

--verbose Verbose output
  -z      Zero-I/O mode, report connection status only


봄 여름 시즌



맨페이지(나도 몰랐기 때문에)ss - another utility to investigate sockets에서 포트9001에서 실행 중인 응용 프로그램이 있다고 가정해 보겠습니다. 실제로 연결을 수신하고 있는지 어떻게 알 수 있으며 모든 인터페이스에서 수신하고 있는지 어떻게 알 수 있습니까? 0.0.0.0)? ss는 이를 파악하는 데 도움이 됩니다.

ss -patun | grep -w 9001

tcp   LISTEN     0      4096                       *:9001                *:*     users:(("rootlessport",pid=691027,fd=11))


보시다시피 이 명령은 Protocol를 제공합니다. 수신 여부에 관계없이 인터페이스(*9001는 모두를 위한 것임) 및 프로세스 ID(PID) 및 파일 설명자(FD)와 함께 이를 사용하는 응용 프로그램 ).

꼭대기




고객 서버 또는 귀하의 서버가 메모리 부족 상태가 된 적이 있는데 그 이유를 정확히 알 수 있는 것이 없습니까? Atop은 기본적으로 Linux 서버가 프로세스 기록을 저장하지 않는다는 점을 해결합니다.

vmstat, pidstat, iostat.



Vmstat는 모든 가상 메모리 통계를 표시합니다.
Vmstat output details

vmstat -w -S M 1 9                                                                                                               
--procs-- -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu--------
   r    b         swpd         free         buff        cache   si   so    bi    bo   in   cs  us  sy  id  wa  st
   2    0         3545         5650          121         3052    0    0    69   183   61  216  22   9  68   0   0
   0    0         3545         5649          121         3052    0    0     0  1556 1466 4690   2   2  96   0   0
   0    0         3545         5649          121         3053    0    0     0   108 1160 4263   1   1  98   0   0
   0    0         3545         5649          121         3052    0    0     0    68 1584 5925   2   1  96   0   0
   0    0         3545         5648          121         3052    0    0     0    20 1213 4872   1   1  98   0   0
   0    0         3545         5649          121         3052    0    0     0     0  995 4079   1   1  99   0   0
   1    0         3545         5650          121         3052    0    0     0    88 1465 5533   2   1  97   0   0
   0    0         3545         5650          121         3052    0    0     0     0 1290 5131   1   1  98   0   0
   0    0         3545         5650          121         3052    0    0     0    96 1855 6303   2   2  96   0   0


그런 다음 I/O 압력 및 캐시에 대한 세부 정보를 제공하는 iostat가 있습니다.

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          22.3%    0.0%    9.2%    0.1%    0.0%   68.4%

      tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd Device
     7.09        29.8k       143.2k         0.0k       5.4G      26.1G       0.0k sda
     1.74        33.9k        25.6k         0.0k       6.2G       4.7G       0.0k sdb


자세한 내용here

그리고 어떤 프로세스가 많은 메모리와 CPU를 사용하고 있는지와 같은 프로세스 통계를 제공하는 pidstat가 있습니다More Details.
sysstat 패키지에는 이러한 도구가 많이 있습니다.
Netflix에서 읽은 정말 좋은 기사가 있습니다here.

시스템 저널을 올바르게 사용하면 많은 골칫거리를 줄일 수 있습니다.
내가 사용하는 몇 가지 저널 명령

journalctl --since=today -g oom


이것은 기본적으로 키워드oom에 대한 저널 grep을 수행하므로 더 이상journalctl | grep 사용하지 마십시오.

journalctl -t httpd.service --since=today


httpd 서비스에 대한 세부 정보만 제공합니다.

디스크 공간 확인 중.



이것은 종종 검토됩니다. 디스크 공간을 확인하는 가장 빠른 방법은

$ df -Th


그게 다야.

디스크를 차지하는 파일을 찾아야 합니까? 별일 아니다.

$ sudo du -ach / | awk '$1 ~/[G]/ {print}' 


이렇게 하면 GB에 있는 파일이 인쇄되며 find를 사용하여 파일을 찾을 수도 있습니다.

맨 위



서버 부하를 확인하는 가장 쉬운 방법은 top 명령을 실행하는 것입니다. top 명령은 Linux 문제 해결의 필수 도구입니다.

서버 포트 사용량을 확인 중입니다.



임의의 포트를 발견하고 어떤 프로세스가 이 포트를 점유하고 있는지, 파일 목록이 열려 있는지 알고 싶다면 간단히 실행하십시오.

lsof -i :9001


DNS 확인 확인



DNS는 서버와 도메인에 있어서 가장 중요한 것입니다.

dig a domain.com
;; ANSWER SECTION:
google.com.     188 IN  A   142.250.76.206


DNS 확인이 작동하는지 알려줍니다.

남은 메모리 양 확인


free 명령은 메모리 사용량을 확인하는 데 사용됩니다.

free -h
               total        used        free      shared  buff/cache   available
Mem:            15Gi       7.2Gi       4.5Gi       1.5Gi       3.6Gi       6.2Gi
Swap:           10Gi       3.4Gi       7.4Gi


그게 다야, 내가 사용하는 몇 가지 명령이 더 있을 것입니다. 기억나는 경우를 대비하여 모두 알려 드리겠습니다.

저와 대화를 나누거나 토론을 하고 싶으시면 저는 항상 대기하고 있습니다.

좋은 웹페이지 즐겨찾기