中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中有哪些常用的命令

發布時間:2021-02-05 15:38:05 來源:億速云 閱讀:130 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關Linux中有哪些常用的命令,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

負載

CPU負載(cpu load)指的是某個時間點進程對系統產生的壓力。表示特定時間間隔內運行隊列中的平均進程數,如果一個進程滿足以下條件則其就會位于運行隊列中:

  • 它沒有在等待IO操作的結果

  • 它沒有主動進入等待狀態(也就是沒有調用'wait')

  • 沒有被停止(例如:等待終止)

單CPU滿負荷運行時cpu_load為1,當多個CPU或多核時,相當于大橋有多個車道,滿負荷運行時cpu_load值為CPU數或多核數;CPU負載的計算(以單CPU為例),假設一分鐘內執行10個任務代表滿負荷,當一分鐘給出30個任務時,CPU只能處理10個,剩余20個不能處理,cpu_load=3;

Linux中有哪些常用的命令

單核CPU

  • cpu load = 1,滿負載運行

  • cpu load = 0.5,半負載運行

  • cpu load = 1.7,超負載運行

一般來說,每個CPU內核當前活動進程數不大于3,則系統運行表現良好!

如果多核cpu,需要累加4核cpu<12

uptime

uptime命令顯示的平均負載包括了正在或準備運行在CPU上的進程和阻塞在不可中斷睡眠狀態(uninterruptible) I/O(通常是磁盤I/O)上的進程。

[root@server ~]# uptime
 16:54:53 up 29 days, 2:02, 1 user, load average: 0.03, 0.03, 0.00
[root@server ~]# cat /proc/loadavg
0.03 0.03 0.00 3/166 16903
  • 顯示最近1分鐘、5分鐘、15分鐘系統負載的移動平均值,它們共同展現了負載隨時間變動的情況。

  • 3:正在運行的進程數,166:總的進程數,16903:最近運行進程的ID。

ps和top命令

ps命令

ps命令是ProcessStatus的縮寫,用于查看系統進程信息

  • -e,-A:顯示所有進程,包括其他用戶的進程

  • -f:顯示完整格式

  • -l:顯示長列表

  • -a:所有進程,加上-x參數會顯示沒有控制終端的進程

  • -u:username,顯示指定用戶的進程,例如ps -u root

  • -x:顯示當前用戶在所有終端下的進程

  • -aux:顯示所有進程,包括所有用戶,分組情況

ps常用用法,通常與grep組合使用

顯示dhcpd進程ps ax | grep dhcpd | grep -v grep 

ps-ef
顯示所有進程

ps-aux
顯示所有進程

ps-aux

按照CPU或者內存用量來篩選進程:

ps -aux --sort -pcpu
# 或
ps -aux --sort -pmem
終止進程
# 強制中斷正在執行的命令,如,命令長時間沒有響應的情況下
Ctrl+C組合鍵

# kill命令
kill -9 進程ID
# killall命令:終止指定名稱的所有進程
killall -9 dhclient
top命令

ps命令列出的是當前進程的快照,top可用于持續監視系統性能,
動態顯示進程信息。

  • -n 獲取多次cpu的執行情況,top -n 4:只更新4次

  • -d 間隔時間,top -d 4:每隔4秒更新一次

  • -p 獲取指定端口進程的數據,top -p 22

每隔1秒檢測指定進程的cpu,檢測20次

top -d 1 -n 20
示例

打印指定pid進程的cpu信息,間隔時間為1s,打印20次

Linux中有哪些常用的命令

查看進程的pid:

ps -ef | grep systemd

Linux中有哪些常用的命令

循環打印

# 打印一次
top -p 1 -n 1 | grep systemd | awk '{print $10}'
# 循環打印20次
for i in {1..20};do top -p 1 -n 1 | grep systemd | awk '{print $10}';sleep 1s;done

for((i=0;i<20;i++));do top -p 1 -n 1 | grep systemd | awk '{print $10}';sleep 1s;done
dmesg | tail

默認顯示最新的10個系統信息,可以查看導致性能問題的錯誤信息。

1. 顯示最新的20個系統信息

[root@centos7 ~]# dmesg | tail -20
[  15.356358] RPC: Registered named UNIX socket transport module.
[  15.356360] RPC: Registered udp transport module.
[  15.356361] RPC: Registered tcp transport module.
[  15.356362] RPC: Registered tcp NFSv4.1 backchannel transport module.
[  15.551529] type=1305 audit(1584428235.986:4): audit_pid=1054 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1
[  19.223990] NET: Registered protocol family 40
[  23.857606] ip6_tables: (C) 2000-2006 Netfilter Core Team
[  24.130255] Ebtables v2.0 registered
[  24.366128] Netfilter messages via NETLINK v0.30.
[  24.418582] ip_set: protocol 7
[  24.517273] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready
[  24.521156] e1000: ens33 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[  24.524658] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready
[  24.524669] IPv6: ADDRCONF(NETDEV_CHANGE): ens33: link becomes ready
[  24.528687] IPv6: ADDRCONF(NETDEV_UP): ens34: link is not ready
[  24.532350] e1000: ens34 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[  24.535760] IPv6: ADDRCONF(NETDEV_UP): ens34: link is not ready
[  24.574912] IPv6: ADDRCONF(NETDEV_UP): ens34: link is not ready
[  25.391535] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[  25.525351] IPv6: ADDRCONF(NETDEV_CHANGE): ens34: link becomes ready
[root@centos7 ~]#

2. 顯示開始的20個系統信息

[root@centos7 ~]# dmesg | head -20
[  0.000000] Initializing cgroup subsys cpuset
[  0.000000] Initializing cgroup subsys cpu
[  0.000000] Initializing cgroup subsys cpuacct
[  0.000000] Linux version 3.10.0-1062.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019
[  0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1062.el7.x86_64 root=UUID=d7dc0c9e-a27d-4239-aba4-7c2e51d9fc93 ro crashkernel=auto spectre_v2=retpoline rhgb quiet LANG=en_US.UTF-8
[  0.000000] Disabled fast string operations
[  0.000000] e820: BIOS-provided physical RAM map:
[  0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable
[  0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved
[  0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
[  0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007fedffff] usable
[  0.000000] BIOS-e820: [mem 0x000000007fee0000-0x000000007fefefff] ACPI data
[  0.000000] BIOS-e820: [mem 0x000000007feff000-0x000000007fefffff] ACPI NVS
[  0.000000] BIOS-e820: [mem 0x000000007ff00000-0x000000007fffffff] usable
[  0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved
[  0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
[  0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[  0.000000] BIOS-e820: [mem 0x00000000fffe0000-0x00000000ffffffff] reserved
[  0.000000] NX (Execute Disable) protection: active
[  0.000000] SMBIOS 2.7 present.
[root@centos7 ~]#

vmstat 1

全稱 virtual memory stat,逐行輸出虛擬內存狀態統計信息

[root@centos7 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b  swpd  free  buff cache  si  so  bi  bo  in  cs us sy id wa st
1 0   0 1424832  2084 195100  0  0  47   4  45  55 0 0 99 1 0

vmstat 1 :每隔一秒打印一次

[root@centos7 ~]#
[root@centos7 ~]# vmstat 1  #1s打印一個
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b  swpd  free  buff cache  si  so  bi  bo  in  cs us sy id wa st
1 0   0 1424472  2084 195120  0  0  28   2  30  37 0 0 99 1 0
0 0   0 1424456  2084 195120  0  0   0   0  38  53 0 0 100 0 0
0 0   0 1424456  2084

參數解釋:

  • r: 運行隊列中進程數量

  • b: 等待IO的進程數量

  • swpd:使用的虛擬內存

  • free:可用內存

  • buff:用作緩沖的內存大小

  • cache:用作緩存的內存大小

  • us:用戶進程執行時間(user time)

  • sy:系統進程執行時間(system time

  • id:空閑時間(包括IO等待時間),中央處理器的空閑時間

  • wa:等待IO時間

free -m

查看linux內存使用情況

[root@centos7 ~]# free -m
       total    used    free   shared buff/cache  available
Mem:      1819     199    1471      9     148    1470
Swap:     4095      0    4095
  • Mem:物理內存

  • totel:總的物理內存 單位為:M

  • used:用掉的內存

  • free:空閑的物理內存

  • shared:共享內存

  • buff/cache:緩存內存

mpstat -P ALL 1

mpstat是Multiprocessor Statistics的縮寫,實時監控CPU性能。
mpstat -P ALL 1 2:間隔1s打印報告,共打印2個

  • -P ALL:監控所有CPU

  • 1:間隔時間1s

  • 2:打印次數2次

[root@centos7 ~]# mpstat
Linux 3.10.0-1062.el7.x86_64 (centos7) 03/18/2020   _x86_64_    (4 CPU)

04:41:47 AM CPU  %usr  %nice  %sys %iowait  %irq  %soft %steal %guest %gnice  %idle
04:41:47 AM all  0.66  0.00  1.39  2.65  0.00  0.01  0.00  0.00  0.00  95.28
[root@centos7 ~]#
[root@centos7 ~]# mpstat -P ALL 1
Linux 3.10.0-1062.el7.x86_64 (centos7) 03/18/2020   _x86_64_    (4 CPU)

04:44:11 AM CPU  %usr  %nice  %sys %iowait  %irq  %soft %steal %guest %gnice  %idle
04:44:11 AM all  0.39  0.00  0.82  1.54  0.00  0.01  0.00  0.00  0.00  97.24
04:44:11 
[root@centos7 ~]#
  • %usr:間隔時間段內,用戶態的CPU時間(%),不包含 nice值為負進程

  • %nice:nice值為負進程的CPU時間(%)

  • %sys:核心時間(%)

  • %iowait:硬盤IO等待時間(%)

  • %irq:硬中斷時間(%)

  • %soft:軟中斷時間(%)

  • %steal:虛擬機管理器在服務另一個虛擬處理器時虛擬CPU處在非自愿等待下花費時間的百分比

  • %guest:運行虛擬處理器時CPU花費時間的百分比

  • %idle:CPU的空閑時間(%)

pidstat 1

pidstat用于監控全部或指定進程的資源占用情況,和top命令類似,但不覆蓋輸出,有利于觀察數據隨時間的變動情況,top會覆蓋之前的輸出

pidstat -p 1 1:-p 指定進程號,間隔1s打印pid為1的進程

[root@centos7 ~]# pidstat
Linux 3.10.0-1062.el7.x86_64 (centos7) 03/18/2020   _x86_64_    (4 CPU)


04:52:29 AM  UID    PID  %usr %system %guest  %CPU  CPU Command
04:52:29 AM   0     1  0.05  0.19  0.00  0.24   0 systemd
04:52:29 AM   0     2  0.00  0.00  0.00  0.00   3 kthreadd
04:52:29 AM   0     6  0.00  0.00  0.00  0.00   0 ksoftirqd/0
04:52:29
  • PID:進程ID

  • %usr:進程在用戶空間占用cpu的百分比

  • %system:進程在內核空間占用cpu的百分比

  • %guest:進程在虛擬機占用cpu的百分比

  • %CPU:進程占用cpu的百分比,各個CPU上的使用量的總和

  • CPU:處理進程的cpu編號

  • Command:當前進程對應的命令

iostat 1

iostat用于顯示CPU和塊設備(磁盤I/O)相關的統計信息

[root@centos7 ~]# iostat 1
Linux 3.10.0-1062.el7.x86_64 (centos7) 03/18/2020   _x86_64_    (4 CPU)

avg-cpu: %user  %nice %system %iowait %steal  %idle
      0.15  0.00  0.34  0.60  0.00  98.92


Device:      tps  kB_read/s  kB_wrtn/s  kB_read  kB_wrtn
sda        9.46    158.59    15.05   142895   13561
scd0       0.02     1.14     0.00    1028     0

avg-cpu:總體cpu使用情況統計信息
linux各種設備文件在/dev目錄下可以看到

  • tps:每秒進程向磁盤設備下發的IO讀、寫請求數量

  • kB_read/s:每秒從驅動器讀入的數據量

  • kB_wrtn/s:每秒從驅動器寫入的數據量

  • kB read:讀入數據總量

  • kB wrtn:寫入數據總量

sar命令

sar(System ActivityReporter):系統活動情況報告,
是Linux系統性能分析工具。可以用來分析磁盤I/O、CPU效率、內存使用等,下面介紹它的分析網絡性能用法。

sar -n DEV 1

檢查網絡流量的工作負載,可用來檢查網絡流量是否已經達到限額。

[root@centos7 dev]# sar -n DEV 1
Linux 4.18.0-147.5.1.el8_1.x86_64 (iZ8vb54310gt89j8qct198Z)   12/19/2020   _x86_64_    (1 CPU)

08:08:37 PM   IFACE  rxpck/s  txpck/s  rxkB/s  txkB/s  rxcmp/s  txcmp/s rxmcst/s  %ifutil
08:08:38 PM   eth0   4.00   2.00   0.23   0.27   0.00   0.00   0.00   0.00
08:08:38 PM    lo   0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00
08:08:38 PM  docker0   0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00
sar -n TCP 1

顯示TCP連接情況,可用來描述系統負載

[root@centos7 dev]# sar -n TCP,ETCP 1
Linux 4.18.0-147.5.1.el8_1.x86_64 (iZ8vb54310gt89j8qct198Z)   12/19/2020   _x86_64_    (1 CPU)

08:15:48 PM active/s passive/s  iseg/s  oseg/s
08:15:49 PM   0.00   0.00   1.00   1.00

08:15:48 PM atmptf/s estres/s retrans/s isegerr/s  orsts/s
08:15:49 PM   0.00   0.00   0.00   0.00   0.00
  • active/s:主動連接數,本地每秒創建的TCP連接數

  • passive/s:被動連接數,遠程每秒創建的TCP連接數

  • retrans/s:每秒TCP重傳次數

看完上述內容,你們對Linux中有哪些常用的命令有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中江县| 安顺市| 天长市| 渝中区| 文安县| 唐海县| 阿瓦提县| 奉节县| 竹溪县| 宿迁市| 榆中县| 宁德市| 孝义市| 南昌县| 类乌齐县| 常宁市| 土默特右旗| 革吉县| 乌拉特前旗| 长寿区| 芦山县| 酒泉市| 黑河市| 商河县| 唐河县| 景德镇市| 安溪县| 枣庄市| 江孜县| 天等县| 武汉市| 广州市| 府谷县| 温泉县| 龙山县| 邵武市| 湟源县| 安福县| 南投市| 东源县| 太仆寺旗|