나는 쉘 명령의 출력이 top
내 컴퓨터에서 무슨 일이 일어나고 있는지 대략적인 아이디어를 얻는 쉽고 친숙한 방법이라고 생각합니다. top
대략적인 모니터링을 위해 컴퓨터의 작은 웹 서버(또는 이와 매우 유사한 것)의 출력을 제공하고 싶습니다 .
텍스트 출력을 정확하게 작성하는 방법이 있습니까?한 번, 서식 지정 문자가 없나요? 나는 이것을 시도했습니다 :
(sleep 1; echo 'q') | top > output.txt
그것은 것 같다폐쇄(1) 한 화면 분량의 정보를 얻지 못할 것이라는 보장이 없으며 (2) 모든 터미널 형식 문자를 제거해야 한다는 점을 제외하고는 내가 원하는 대로.
top
아니면 시스템 전체 및 프로세스 수준 메모리/CPU 사용량/가동 시간 정보를 나열하는 다른 유사한 명령이 있습니까 ?
(이상적으로는 우리 개발자들이 Mac을 사용하고 우리 프로덕션 환경이 Linux이기 때문에 Linux와 Mac OS X에 이식 가능한 전략을 갖고 싶습니다.)
답변1
Linux에서는 다음을 시도해 볼 수 있습니다.
top -bn1 > output.txt
에서 man top
:
-b : Batch-mode operation
Starts top in 'Batch' mode, which could be useful for sending
output from top to other programs or to a file. In this
mode, top will not accept input and runs until the iterations
limit you've set with the '-n' command-line option or until
killed.
....
-n : Number-of-iterations limit as: -n number
Specifies the maximum number of iterations, or frames, top
should produce before ending.
OS X의 경우 다음을 시도해 보세요.
top -l 1
~에서상위 OSX 맨페이지:
-l <samples>
Use logging mode and display <samples> samples, even if
standard output is a terminal. 0 is treated as infinity.
Rather than redisplaying, output is periodically printed in
raw form. Note that the first sample displayed will have an
invalid %CPU displayed for each process, as it is calculated
using the delta between samples.
답변2
답변3
macOS 해커
죄송합니다. 형편없지만 macOS에서 제가 원하는 것을 얻었습니다.
top -l 2 -n 10 | tail -22
-l 2
- 의견에 따라 샘플 크기만 주어지면 macos는 CPU 필드에 0을 출력합니다. 따라서 두 번 샘플링하십시오.-n 10
최상위 프로세스만 사용(CPU 로드 기준이 기본 순서임)tail -22
- 실제 해킹적인 부분 - 첫 번째 예에 대한 줄은 건너뛰십시오.-22
이 경우에는 모두 시행착오였으며-n 10
.
당신은 이것을 자랑스럽게 생각합니까? 결코 그렇지는 않지만 대략 내가 원하는 것을 수행합니다.
Processes: 547 total, 3 running, 544 sleeping, 2558 threads
2022/11/24 17:18:44
Load Avg: 1.74, 2.05, 2.01
CPU usage: 6.25% user, 1.71% sys, 92.2% idle
SharedLibs: 257M resident, 35M data, 14M linkedit.
MemRegions: 229362 total, 3865M resident, 114M private, 1192M shared.
PhysMem: 16G used (3357M wired), 143M unused.
VM: 11T vsize, 2317M framework vsize, 11336543(0) swapins, 13536939(0) swapouts.
Networks: packets: 33586023/7445M in, 34143918/6707M out.
Disks: 9964939/225G read, 3781186/116G written.
PID COMMAND %CPU TIME #TH #WQ #PORTS MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME %CPU_OTHRS UID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH CSW PAGEINS IDLEW POWER INSTRS CYCLES USER #MREGS RPRVT VPRVT VSIZE KPRVT KSHRD
17013 postgres 28.5 01:00.77 1 0 8 62M+ 0B 0B 17013 16225 sleeping *0[1] 0.00000 0.00000 501 545151+ 124 152 5 353119+ 118842+ 11731+ 0 0 28.5 3760288663 1617021064 postgres N/A N/A N/A N/A N/A N/A
17019 postgres 25.9 01:04.16 1/1 0 8 64M+ 0B 0B 17019 16225 running *0[1] 0.00000 0.00000 501 552890+ 123 160+ 5 359735+ 120494+ 11930+ 0 0 25.9 3263636650 1446362124 postgres N/A N/A N/A N/A N/A N/A
17329 top 8.8 00:00.52 1/1 0 28+ 3728K+ 0B 0B 17329 13212 running *0[1] 0.03698 0.00000 0 2471+ 106+ 517539+ 255643+ 4594+ 264177+ 48+ 0 0 8.8 388290277 451214497 root N/A N/A N/A N/A N/A N/A
16245 Python 8.3 08:43.72 1 0 21 1027M+ 0B 1104K 16245 37017 sleeping *0[1] 0.00000 0.00000 505 1008120+ 3429 3229 41 8420748+ 6791 2448946+ 87 35 8.3 442524899 451503337 me__ N/A N/A N/A N/A N/A N/A
17015 postgres 5.1 00:12.19 1 0 8 29M+ 0B 0B 17015 16225 sleeping *0[1] 0.00000 0.00000 501 8276+ 114 14 5 360531+ 30 85127+ 0 5 5.1 516698298 269517335 postgres N/A N/A N/A N/A N/A N/A
17020 postgres 4.8 00:12.64 1 0 8 32M+ 0B 0B 17020 16225 sleeping *0[1] 0.00000 0.00000 501 9074+ 113 14 5 400661+ 34 94522+ 0 6 4.8 486455789 262738456 postgres N/A N/A N/A N/A N/A N/A
0 kernel_task 3.7 01:46:28 287/16 0 0 1436M 0B 0B 0 0 running 0[0] 0.00000 0.00000 0 6106435 9589 331617464+ 300334081+ 0 0 615407045+ 183 32498664+ 0.0 96723302 461786276 root N/A N/A N/A N/A N/A N/A
15976 Python 3.0 01:39.90 2 0 24 90M 0B 4860K 94785 94785 sleeping *0[1] 0.00000 0.00000 505 26811 643 460 21 6928600+ 1008 28526+ 448 1886+ 3.1 235167151 177692860 me__ N/A N/A N/A N/A N/A N/A
16226 postgres 1.6 00:39.95 1 0 8 728K 0B 188K 16226 16225 sleeping *0[1] 0.00000 0.00000 501 340 73 23 5 10634810+ 20 2383516+ 0 4 1.6 37954507 77088931 postgres N/A N/A N/A N/A N/A N/A
150 WindowServer 1.4 04:23:51 16 7 2944 1307M- 19M 107M 150 1 sleeping *0[1] 0.02412 0.01154 88 15718938+ 72229 255258396+ 99186014+ 280197394+ 409489438+ 118640818+ 3284 3028879 1.4 29648136 64463377 _windowserver N/A N/A N/A N/A N/A N/A