如何在 Linux 中以指令碼模式執行 Top
top 用於顯示 系統中的實時處理活動,以及核心管理的任務。它將顯示 CPU 和記憶體使用情況及其他資訊,例如正在執行的程式。可以利用 模式的選項將top 輸出傳輸到其他應用程式或檔案。 |
使用 Top 命令
模式的方法
在 8 中,我們執行本文中的命令。下面命令按照 CPU 使用率對資料進行排序,並列印命令中指定的前 20 行。
[root@localhost ~]# top -bc -n 1 | head -20 top - 22:23:02 up 6 days, 12:36, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 186 total, 2 running, 184 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 886.5 free, 277.0 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1333.1 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd/systemd --switch+ 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [kthreadd] 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_gp] 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_par_gp] 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kworker/0:0H-kblockd] 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [mm_percpu_wq] 10 root 20 0 0 0 0 S 0.0 0.0 0:00.70 [ksoftirqd/0] 11 root 20 0 0 0 0 I 0.0 0.0 0:02.64 [rcu_sched] 12 root rt 0 0 0 0 S 0.0 0.0 0:00.00 [migration/0] 13 root rt 0 0 0 0 S 0.0 0.0 0:00.45 [watchdog/0] 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [cpuhp/0] 16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kdevtmpfs] 17 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [netns]
如果要按照記憶體使用順序排序,需要使用下面命令:
[root@localhost ~]# top -bc -o +%MEM -n 1 | head -n 20 top - 22:26:01 up 6 days, 12:39, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 187 total, 1 running, 186 sleeping, 0 stopped, 0 zombie %Cpu(s): 5.9 us, 5.9 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 834.6 free, 329.0 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1281.2 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 22531 root 20 0 615344 75672 25780 S 0.0 4.1 0:00.80 node /usr/local/bin/evilscan 192.+ 968 root 20 0 413544 35488 34188 S 0.0 1.9 0:02.32 /usr/libexec/sssd/sssd_nss --uid + 971 root 20 0 462996 34880 14700 S 0.0 1.9 0:00.65 /usr/libexec/platform-python -s /+ 997 root 20 0 612436 28888 14600 S 0.0 1.6 0:35.22 /usr/libexec/platform-python -Es + 948 polkitd 20 0 1772752 23756 16596 S 0.0 1.3 0:00.30 /usr/lib/polkit-1/polkitd --no-de+ 980 root 20 0 753768 18484 15908 S 0.0 1.0 0:05.09 /usr/sbin/NetworkManager --no-dae+ 813 root 20 0 118756 14588 13040 S 0.0 0.8 0:04.79 /usr/lib/systemd/systemd-journald 966 root 20 0 402088 12008 9900 S 0.0 0.7 0:01.93 /usr/libexec/sssd/sssd_be --domai+ 950 root 20 0 395652 11736 10132 S 0.0 0.6 0:00.34 /usr/sbin/sssd -i --logger=files 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd/systemd --switch+ 6620 root 20 0 152796 10216 8992 S 0.0 0.6 0:00.01 sshd: root [priv] 840 root 20 0 115684 9876 7312 S 0.0 0.5 0:00.47 /usr/lib/systemd/systemd-udevd 6623 root 20 0 93708 9500 8112 S 0.0 0.5 0:00.04 /usr/lib/systemd/systemd --user site.qudong.com/2017/0220/394075.shtml
上面命令中關於
top
命令使用的選項解釋如下:
-
-b
: 執行指令碼模式 -
-c
: 顯示COMMAND列中命令的完整路徑 -
-n
: 指定top在結束之前應該產生的最大迭代數。 -
-o
: 定義了按照哪個欄位排序。
在批處理模式下,使用 top 命令根據程式的使用的時間排列資料。它顯示程式自啟動以來消耗的 CPU 時間總量。使用如下命令檢視:
[root@localhost ~]# top -bc -o TIME+ -n 1 | head -n 20 top - 22:31:20 up 6 days, 12:44, 2 users, load average: 0.00, 0.04, 0.01 Tasks: 187 total, 1 running, 186 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 843.4 free, 320.1 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1290.0 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 997 root 20 0 612436 28888 14600 S 0.0 1.6 0:35.24 /usr/libexec/platform-python -Es + 946 root 20 0 160120 6460 5656 S 0.0 0.4 0:06.08 /sbin/rngd -f 980 root 20 0 753768 18484 15908 S 0.0 1.0 0:05.10 /usr/sbin/NetworkManager --no-dae+ 813 root 20 0 118756 14588 13040 S 0.0 0.8 0:04.79 /usr/lib/systemd/systemd-journald 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd/systemd --switch+ 727 root 20 0 0 0 0 S 0.0 0.0 0:02.77 [xfsaild/dm-0] 11 root 20 0 0 0 0 I 0.0 0.0 0:02.65 [rcu_sched] 968 root 20 0 413544 35488 34188 S 0.0 1.9 0:02.32 /usr/libexec/sssd/sssd_nss --uid + 966 root 20 0 402088 12008 9900 S 0.0 0.7 0:01.93 /usr/libexec/sssd/sssd_be --domai+ 954 chrony 20 0 29444 2652 2400 S 0.0 0.1 0:01.16 /usr/sbin/chronyd 945 dbus 20 0 74704 5896 5096 S 0.0 0.3 0:01.15 /usr/bin/dbus-daemon --system --a+ 24 root 39 19 0 0 0 S 0.0 0.0 0:01.13 [khugepaged] 10 root 20 0 0 0 0 S 0.0 0.0 0:00.79 [ksoftirqd/0]
下面可以將top的輸出結果儲存到檔案中:
[root@localhost ~]# top -bc | head -30 > top-information.txt
總結
top 命令用於顯示 Linux 系統中的實時處理活動,以及核心管理的任務。它將顯示 CPU 和記憶體使用情況及其他資訊,例如正在執行的程式。可以利用指令碼模式的選項將top命令輸出傳輸到其他應用程式或檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2885689/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在批處理模式下執行 top 命令模式
- 在 Linux 中執行.sh 指令碼 No such file or directoryLinux指令碼
- Linux 後臺執行 PHP 指令碼LinuxPHP指令碼
- Linux 定時執行指令碼、命令Linux指令碼
- Linux定時執行.sh指令碼Linux指令碼
- Linux中執行Shell指令碼的方式(三種方法)Linux指令碼
- Laravel 中執行 Python 指令碼LaravelPython指令碼
- 如何在 Linux 中不輸入密碼執行 sudo 命令Linux密碼
- shell指令碼linux命令連續執行指令碼Linux
- Linux上執行記憶體中的指令碼和程式Linux記憶體指令碼
- python中怎樣執行指令碼Python指令碼
- python寫的指令碼在kail Linux 執行Python指令碼AILinux
- 如何在Linux中執行MySQL/MariaDB查詢LinuxMySql
- 如何在Docker容器啟動時自動執行指令碼Docker指令碼
- [轉載]ubuntu中執行python指令碼UbuntuPython指令碼
- Linux shell:執行shell指令碼的幾種方式Linux指令碼
- 執行shell指令碼指令碼
- 如何在Windows上使用Git建立一個可執行指令碼?WindowsGit指令碼
- 如何在linux中建立特定的指令碼註釋資訊Linux指令碼
- 執行python指令碼後臺執行Python指令碼
- 『動善時』JMeter基礎 — 57、Linux系統中執行JMeter指令碼JMeterLinux指令碼
- 如何在NotePad++中執行PHP程式碼?PHP
- Linux執行python相關指令LinuxPython
- 在linux上定期執行命令、指令碼(cron,crontab,anacron)Linux指令碼
- linux crontab下的指令碼不執行怎麼辦Linux指令碼
- 生成 Linux 執行時間報告的 Bash 指令碼Linux指令碼
- appium ios java 指令碼如何用指令執行,例如 adb 那種方式執行指令碼APPiOSJava指令碼
- Linux 作業系統指令碼格式問題導致指令碼無法執行Linux作業系統指令碼
- 如何在Linux中檢視所有正在執行的程式Linux
- mybatis執行sql指令碼MyBatisSQL指令碼
- Selenium執行JavaScript指令碼JavaScript指令碼
- Linux中配置開機自啟動執行指令碼的方法是什麼?Linux指令碼
- Shell指令碼執行有哪些方式?linux系統學習指令碼Linux
- 8.4.9 在truffle環境中執行外部指令碼指令碼
- Linux系統Shell指令碼如何執行?linux運維繫統工程師Linux指令碼運維工程師
- Linux c程式中獲取shell指令碼輸出(如獲取system命令輸出)LinuxC程式指令碼
- 在Linux中,如何編寫一個指令碼來自動執行日常任務?Linux指令碼
- 在Linux中,如何使用shell指令碼判斷某個服務是否正在執行?Linux指令碼