>  기사  >  운영 및 유지보수  >  Linux 로드를 확인하는 데 사용되는 명령은 무엇입니까?

Linux 로드를 확인하는 데 사용되는 명령은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-06-30 11:40:233887검색

Linux 로드를 확인하는 명령은 다음과 같습니다. 1. Linux 로드를 확인하는 [top] 명령 2. Linux 로드를 확인하는 [w] 명령 4. [ vmstat] 명령을 사용하여 Linux 로드를 확인합니다.

Linux 로드를 확인하는 데 사용되는 명령은 무엇입니까?

Linux 로드를 보는 명령은

1입니다. Linux 로드를 보는 가장 높은 명령:

Linux 로드를 확인하는 데 사용되는 명령은 무엇입니까?

관련 학습 권장 사항: linux 비디오 자습서

첫 번째 줄 설명:

top - 11:03:08 up 1 days, 04:01, 3 user, load average: 0.05, 0.05, 0.01
  • 11:03:08: 현재 시스템 시간

  • up 1 days, 04:01: 시스템이 부팅된 지 1일이 지났습니다.

  • 3명의 사용자: 현재 3명의 사용자가 온라인 상태입니다

  • 로드 평균: 0.05, 0.05, 0.01: 1분, 5분, 15분 동안의 시스템 CPU 로드 정보

참고: 세 가지 값의 의미 ​​​​로드 후 평균은 마지막 1분, 마지막 5분, 마지막 15분의 시스템 로드 값입니다. 이 값의 의미는 단위 시간당 CPU 활성 프로세스 수입니다. 기계에 단일 코어가 있는 경우 이 값이 모두

두 번째 줄 설명:

Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
  • 총 176개: 현재 176개 작업이 있습니다

  • 1개 실행 중: 1개 작업이 실행 중입니다

  • 175개 대기 중: 175개 프로세스가 대기 중입니다

  • 0 중지됨: 중지된 프로세스 수

  • 0 좀비: 좀비 프로세스 수

세 번째 줄 설명:

%Cpu(s): 0.1 us, 0.2 sy, 0.2 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
  • 0.1%us: 사용자 모드 프로세스가 차지하는 CPU 시간의 백분율

  • 0.2 %sy: 커널이 차지하는 CPU 시간의 백분율

  • 0.2%ni: 음수 renice 값을 가진 작업의 사용자 모드 프로세스의 CPU 시간 백분율입니다. Nice는 우선순위

  • 99.4%id: 유휴 CPU 시간의 백분율

  • 0.0%wa: I/O를 기다리는 CPU 시간의 백분율

  • 0.0%hi: CPU 하드 인터럽트 시간의 백분율

  • 0.0%si: CPU 소프트 인터럽트 시간 백분율

네 번째 줄 설명:

KiB Mem : 3882172 total, 1079980 free, 1684652 used, 1117540 buff/cache
  • 3882172 k 총: 총 물리적 메모리

  • 1684652k 사용됨: 사용된 물리적 메모리

  • 1079980k 무료 : 여유 물리적 메모리

  • 1117540k 캐시됨: 캐시로 사용되는 메모리

다섯 번째 줄 설명:

KiB Swap: 0 total, 0 free, 0 used. 1871412 avail Mem
  • 0k 총: 총 스왑 공간의 양

  • 0k 사용: 사용된 스왑 공간

  • 0k free: 여유 스왑 공간

  • 1871412k 캐시됨: 캐시된 스왑 공간

마지막 줄:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  • PID: 프로세스 ID

  • USER: 모든 프로세스

  • 홍보: 프로세스 우선 순위

  • NI: 좋은 값

  • VIRT: 점유된 가상 메모리

  • RES: 점유된 물리적 메모리

  • SHR: 공유 메모리 사용

  • S: 진행 상태 S: 최대 절전 모드 R running Z 좀비 프로세스 N nice 값은 음수

  • %CPU: CPU 점유

  • %MEM: 메모리 점유

  • TIME+: CPU 점유 시간 누적 값

  • COMMAND: 명령 시작

2. Linux 로드를 보기 위한 가동 시간:

Linux 로드를 확인하는 데 사용되는 명령은 무엇입니까?

3. Linux 로드를 보기 위한 w:

Linux 로드를 확인하는 데 사용되는 명령은 무엇입니까?

첫 번째 줄 참조 top 명령 설명

USER  TTY  FROM  LOGIN@  IDLE  JCPU  PCPU  WHAT 설명은 다음과 같습니다 :

  • USER — 로그인한 사용자 이름

  • TTY — 로그인 후 시스템에서 할당한 터미널 번호

  • FROM — 원격 호스트 이름, 즉

    에서 로그인할 위치
  • LOGIN@—로그인 시기

  • IDLE—유휴 상태인 기간으로 사용자가 유휴 상태였던 시간을 나타냅니다. 사용자가 어떤 작업을 수행하면 재설정되는 타이머입니다.

  • JCPU - 터미널(tty)에 연결된 모든 프로세스가 차지하는 시간, 이 시간에는 과거 백그라운드 작업 시간은 포함되지 않지만, JCPU에서 걸린 시간은 포함됩니다. 현재 실행 중인 백그라운드 작업

  • PCPU - 현재 프로세스에 소요된 시간을 나타냅니다(즉, WHAT 항목에 표시되는 프로세스)

  • WHAT - 현재 실행 중인 프로세스의 명령 OK

4. vmstat

로 Linux 로드를 확인하세요.

Linux 로드를 확인하는 데 사용되는 명령은 무엇입니까?

  • r 은 실행 중인 대기열(즉, 실제로 CPU에 할당된 프로세스 수)을 나타냅니다. 이 값이 CPU 수를 초과하면 CPU 병목 현상이 발생합니다. 발생하다. 이는 top의 부하와도 관련이 있는데, 일반적으로 부하가 3을 넘으면 상대적으로 높고, 5를 넘으면 높다고 하며, 10을 넘으면 비정상이라 서버의 상태가 매우 위험하다. . top의 로드는 초당 실행 대기열과 유사합니다. 실행 대기열이 너무 크면 CPU 사용량이 매우 많아 일반적으로 CPU 사용량이 높아진다는 의미입니다. r 表示运行队列(就是说多少个进程真的分配到CPU),当这个值超过了CPU数目,就会出现CPU瓶颈。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。

  • b 表示阻塞的进程,这个不多说,进程阻塞,大家懂的。

  • swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。

  • free 空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。

  • buff Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M

  • cache cache直接用来记忆我们打开的文件,给文件做缓冲,(这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)

  • si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常。

  • so 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

  • bi 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte。

  • bo 块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

  • in 每秒CPU的中断次数,包括时间中断

  • cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。

  • us 用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。

  • sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

  • id 空闲 CPU时间,一般来说,id + us + sy = 100,一般认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。

  • wt 等待IO CPU时间。

5、其他一些操作

  • cat /proc/cpuinfo:即可查看CPU信息,几个processor即为几个CPU;

  • sar:可以监控系统所有资源状态,sar -n DEV查网卡流量历史、sar -q 查看历史负载,最有用的就是查网卡流量,流量过大:   rxpck/s大于4000,或者rxKB/s大于5000,则很有可能被攻击了,需要抓包分析;

  • free:查看当前系统的总内存大小以及使用内存的情况;

  • ps:查看进程,ps aux 或者 ps -elf,常和管道符一起使用,查看某个进程或者它的数量;

  • netstat:查看端口,netstat -lnp用于打印当前系统启动了哪些端口,netstat -an用于打印网络连接状况;

  • tcpdump

  • 🎜b는 차단된 프로세스를 나타냅니다. 이에 대해 자세히 설명하지는 않지만 프로세스가 차단된 것은 누구나 알고 있습니다. 🎜🎜🎜swpd 사용된 가상 메모리 크기가 0보다 크면 컴퓨터의 물리적 메모리가 부족하다는 의미입니다. 프로그램 메모리 누수의 원인이 아니라면 메모리를 업그레이드하거나 메모리를 많이 사용하는 작업을 다른 시스템으로 마이그레이션합니다. 🎜🎜🎜free 내 컴퓨터의 메모리는 총 8G이고 남은 메모리는 3415M입니다. 🎜🎜🎜buff Linux/Unix 시스템은 디렉터리의 콘텐츠, 권한 등을 저장하고 캐시하는 데 사용됩니다. 내 컴퓨터는 약 300M🎜🎜🎜 cache 캐시는 우리가 연 파일을 기억하고 캐시하는 데 직접 사용됩니다. (이것은 Linux/Unix의 영리함입니다. 여유 물리적 메모리의 일부는 파일과 디렉터리를 캐시하는 데 사용됩니다. 이는 성능을 향상시키기 위한 것입니다. 프로그램이 메모리를 사용하면 버퍼/캐시가 빠르게 사용됩니다.)🎜
🎜🎜🎜si는 1초마다 디스크에서 읽어옵니다. 이 값이 0보다 크면 물리적 메모리가 부족하거나 메모리가 누수된다는 의미입니다. 내 컴퓨터에는 충분한 메모리가 있고 모든 것이 잘 작동합니다. 🎜🎜🎜so 초당 디스크에 쓰는 가상 메모리의 크기입니다. 이 값이 0보다 크면 위와 동일합니다. 🎜🎜🎜bi 블록 장치가 초당 수신하는 블록 수입니다. 여기서 블록 장치는 시스템의 모든 디스크 및 기타 블록 장치를 의미합니다. 기본 블록 크기는 1024바이트입니다. 🎜🎜🎜bo 블록 장치가 초당 전송하는 블록 수입니다. 예를 들어 파일을 읽을 때 bo는 0보다 커야 합니다. Bi와 bo는 일반적으로 0에 가깝습니다. 그렇지 않으면 IO가 너무 자주 발생하므로 조정이 필요합니다. 🎜🎜🎜in 시간 인터럽트를 포함한 초당 CPU 인터럽트 수🎜🎜🎜🎜cs 컨텍스트 수 초당 스위치 수, 예를 들어 시스템 함수를 호출할 때 컨텍스트 전환, 스레드 전환, 프로세스 컨텍스트 전환을 수행해야 합니다. 값이 작을수록 너무 크면 줄이는 것을 고려해야 합니다. Apache, nginx와 같은 스레드나 프로세스에서는 성능 테스트를 수행할 때 일반적으로 수천 또는 수만 개의 동시성 테스트를 수행합니다. 프로세스 또는 스레드의 최대 값과 cs가 상대적으로 작은 값에 도달할 때까지 스트레스 테스트를 수행하는 경우 이 프로세스 및 스레드 수가 더 적절한 값입니다. 시스템 호출의 경우에도 마찬가지입니다. 시스템 함수가 호출될 때마다 코드가 커널 공간에 들어가고 이로 인해 리소스가 많이 소모되므로 시스템 함수를 자주 호출하지 않도록 해야 합니다. 과도한 컨텍스트 전환은 대부분의 CPU가 컨텍스트 전환에 낭비되어 CPU가 심각한 작업을 수행하는 데 걸리는 시간이 줄어들고 CPU가 완전히 활용되지 않음을 의미하며 이는 바람직하지 않습니다. 🎜🎜🎜us 사용자 CPU 시간. 저는 암호화와 암호 해독을 매우 자주 수행하는 서버에 있었고 우리가 100에 가까웠고 r 실행 대기열이 80에 도달한 것을 볼 수 있었습니다. 기계가 스트레스 테스트를 하고 있었고 성능이 좋지 않았습니다.) 🎜🎜🎜sy 시스템 CPU 시간이 너무 높으면 잦은 IO 작업 등 시스템 호출 시간이 길다는 의미입니다. 🎜🎜🎜id 유휴 CPU 시간, 일반적으로 말하면 id + us + sy = 100이며 일반적으로 id는 유휴 CPU 사용량, us는 사용자 CPU 사용량, sy는 시스템 CPU 사용량입니다. 🎜🎜🎜wt IO CPU 시간을 기다리는 중입니다. 🎜🎜5. 기타 작업🎜🎜🎜🎜cat /proc/cpuinfo: 여러 프로세서를 포함한 CPU 정보를 볼 수 있습니다. 🎜🎜🎜sar: 시스템의 모든 리소스 상태를 모니터링할 수 있습니다. sar -n DEV는 네트워크 카드 트래픽 기록을 확인하고, sar -q는 기록 로드를 가장 많이 확인합니다. 유용한 점은 네트워크 카드 트래픽을 확인하는 것입니다. 트래픽이 너무 큽니다. rxpck/s가 4000보다 크거나 rxKB/s가 5000보다 크면 공격을 받을 가능성이 높으며 패킷 캡처 및 분석이 필요합니다. 🎜🎜free: 현재 시스템 보기 총 메모리 크기 및 메모리 사용량 🎜🎜🎜ps: 프로세스 보기, ps aux 또는 ps -elf, 프로세스 또는 해당 수량을 보기 위해 파이프 문자와 함께 자주 사용됩니다. 🎜🎜🎜netstat: 포트 보기, netstat -lnp는 현재 시작되는 포트를 인쇄하는 데 사용됩니다. 시스템 netstat -an은 네트워크 연결 상태를 인쇄하는 데 사용됩니다. 🎜🎜 🎜tcpdump: 패킷 캡처 도구는 데이터 패킷을 분석하여 어떤 IP가 공격하는지 파악합니다. -w가 없으면 데이터 흐름 방향이 화면에 표시됩니다.
  • wireshark: 패킷 캡처 도구, 일시적으로 이 명령을 사용하여 현재 서버의 웹 요청을 볼 수 있습니다

  • 위 내용은 Linux 로드를 확인하는 데 사용되는 명령은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.