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
그게 다야, 내가 사용하는 몇 가지 명령이 더 있을 것입니다. 기억나는 경우를 대비하여 모두 알려 드리겠습니다.
저와 대화를 나누거나 토론을 하고 싶으시면 저는 항상 대기하고 있습니다.
Reference
이 문제에 관하여(Linux 문제 해결 - 간단한 입문서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kcdchennai/linux-troubleshooting-a-simple-primer-26mb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)