系統(tǒng)性能
Linux系統(tǒng)中,有許多命令用于監(jiān)測(cè)和分析性能指標(biāo)。以下是一些常用的Linux性能分析命令:
-
top
:實(shí)時(shí)查看并監(jiān)控CPU、內(nèi)存以及各個(gè)進(jìn)程的資源占用情況。 -
htop
(需要安裝):一個(gè)增強(qiáng)版的?top
?命令,提供了彩色界面和更友好的交互體驗(yàn)。 -
vmstat
:報(bào)告虛擬內(nèi)存統(tǒng)計(jì)信息,包括進(jìn)程、內(nèi)存、swap、IO和CPU使用情況。 -
mpstat
:多處理器系統(tǒng)上的CPU利用率報(bào)告。 -
iostat
:顯示磁盤(pán)I/O統(tǒng)計(jì)信息,可以用來(lái)監(jiān)控硬盤(pán)的讀寫(xiě)負(fù)載。 -
pidstat
:按進(jìn)程統(tǒng)計(jì)CPU、內(nèi)存、I/O等資源使用狀況。 -
free
:顯示當(dāng)前系統(tǒng)的內(nèi)存使用狀態(tài),包括物理內(nèi)存、交換空間及內(nèi)核緩沖區(qū)等。 -
vmstat -s
?或?sar -r
:查看內(nèi)存詳細(xì)統(tǒng)計(jì)信息。 -
dstat
(需要安裝):綜合性的系統(tǒng)資源統(tǒng)計(jì)工具,它可以同時(shí)展示CPU、內(nèi)存、磁盤(pán)、網(wǎng)絡(luò)等多種資源的使用情況。 -
uptime
:查看系統(tǒng)運(yùn)行時(shí)間以及平均負(fù)載。
top
實(shí)時(shí)查看并監(jiān)控CPU、內(nèi)存以及各個(gè)進(jìn)程的資源占用情況。
[root@zhang opt]# top
top - 15:51:31 up 1:23, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 164 total, 2 running, 162 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1863076 total, 799016 free, 529068 used, 534992 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1133920 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2687 root 20 0 0 0 0 S 0.3 0.0 0:01.42 kworker/0:3
1 root 20 0 128276 6904 4192 S 0.0 0.4 0:01.77 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.15 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.45 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:00.03 watchdog/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
14 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
20 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
22 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md
解釋說(shuō)明
第一行,任務(wù)隊(duì)列信息,同 uptime 命令的執(zhí)行結(jié)果
系統(tǒng)時(shí)間:07:27:05
運(yùn)行時(shí)間:up 1:57 min,
當(dāng)前登錄用戶(hù): 3 user
負(fù)載均衡(uptime) load average: 0.00, 0.00, 0.00
average后面的三個(gè)數(shù)分別是1分鐘、5分鐘、15分鐘的負(fù)載情況。
load average數(shù)據(jù)是每隔5秒鐘檢查一次活躍的進(jìn)程數(shù),然后按特定算法計(jì)算出的數(shù)值。如果這個(gè)數(shù)除以邏輯CPU的數(shù)量,結(jié)果高于5的時(shí)候就表明系統(tǒng)在超負(fù)荷運(yùn)轉(zhuǎn)了
第二行,Tasks — 任務(wù)(進(jìn)程)
總進(jìn)程:150 total, 運(yùn)行:1 running, 休眠:149 sleeping, 停止: 0 stopped, 僵尸進(jìn)程: 0 zombie
第三行,cpu狀態(tài)信息
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
0.3%us【user space】— 用戶(hù)空間占用CPU的百分比。
0.3%sy【sysctl】— 內(nèi)核空間占用CPU的百分比。
0.0%ni【】— 改變過(guò)優(yōu)先級(jí)的進(jìn)程占用CPU的百分比
99.3%id【idolt】— 空閑CPU百分比
0.0%wa【wait】— IO等待占用CPU的百分比
0.0%hi【Hardware IRQ】— 硬中斷占用CPU的百分比
0.0%si【Software Interrupts】— 軟中斷占用CPU的百分比
第四行,內(nèi)存狀態(tài)
1863076 total, 799016 free, 529068 used, 534992 buff/cache
【緩存的內(nèi)存量】
第五行,swap交換分區(qū)信息
2097148 total, 2097148 free, 0 used. 1133920 avail Mem【緩沖的交換區(qū)總量】
備注:
可用內(nèi)存=free + buffer + cached
對(duì)于內(nèi)存監(jiān)控,在top里我們要時(shí)刻監(jiān)控第五行swap交換分區(qū)的used,如果這個(gè)數(shù)值在不斷的變化,說(shuō)明內(nèi)核在不斷進(jìn)行內(nèi)存和swap的數(shù)據(jù)交換,這是真正的內(nèi)存不夠用了。
第四行中使用中的內(nèi)存總量(used)指的是現(xiàn)在系統(tǒng)內(nèi)核控制的內(nèi)存數(shù),
第四行中空閑內(nèi)存總量(free)是內(nèi)核還未納入其管控范圍的數(shù)量。
納入內(nèi)核管理的內(nèi)存不見(jiàn)得都在使用中,還包括過(guò)去使用過(guò)的現(xiàn)在可以被重復(fù)利用的內(nèi)存,內(nèi)核并不把這些可被重新使用的內(nèi)存交還到free中去,因此在linux上free內(nèi)存會(huì)越來(lái)越少,但不用為此擔(dān)心。
第六行,空行
第七行以下:各進(jìn)程(任務(wù))的狀態(tài)監(jiān)控
PID — 進(jìn)程id
USER — 進(jìn)程所有者
PR — 進(jìn)程優(yōu)先級(jí)
NI — nice值。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
VIRT — 進(jìn)程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES
RES — 進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA
SHR — 共享內(nèi)存大小,單位kb
S —進(jìn)程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程
%CPU — 上次更新到現(xiàn)在的CPU時(shí)間占用百分比
%MEM — 進(jìn)程使用的物理內(nèi)存百分比
TIME+ — 進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒
COMMAND — 進(jìn)程名稱(chēng)(命令名/命令行)
pidstat
按進(jìn)程統(tǒng)計(jì)CPU、內(nèi)存、I/O等資源使用狀況。
[root@node1 ~]# pidstat
Linux 3.10.0-1062.el7.x86_64 (node1) 03/09/2024 _x86_64_ (2 CPU)
02:41:40 PM UID PID %usr %system %guest %CPU CPU Command
02:41:40 PM 0 1 0.00 0.04 0.00 0.04 0 systemd
02:41:40 PM 0 2 0.00 0.00 0.00 0.00 0 kthreadd
02:41:40 PM 0 6 0.00 0.00 0.00 0.00 0 ksoftirqd/0
02:41:40 PM 0 7 0.00 0.00 0.00 0.00 0 migration/0
02:41:40 PM 0 9 0.00 0.04 0.00 0.04 1 rcu_sched
02:41:40 PM 0 11 0.00 0.00 0.00 0.00 0 watchdog/0
02:41:40 PM 0 12 0.00 0.00 0.00 0.00 1 watchdog/1
02:41:40 PM 0 13 0.00 0.00 0.00 0.00 1 migration/1
02:41:40 PM 0 14 0.00 0.02 0.00 0.02 1 ksoftirqd/1
02:41:40 PM 0 20 0.00 0.00 0.00 0.00 0 khungtaskd
02:41:40 PM 0 35 0.00 0.01 0.00 0.01 0 kswapd0
02:41:40 PM 0 37 0.00 0.00 0.00 0.00 0 khugepaged
02:41:40 PM 0 102 0.00 0.00 0.00 0.00 0 kauditd
02:41:40 PM 0 235 0.00 0.00 0.00 0.00 1 scsi_eh_0
02:41:40 PM 0 276 0.00 0.00 0.00 0.00 0 irq/16-vmwgfx
02:41:40 PM 0 331 0.00 0.01 0.00 0.01 0 xfsaild/sda3
02:41:40 PM 0 332 0.00 0.00 0.00 0.00 0 kworker/0:1H
02:41:40 PM 0 416 0.00 0.00 0.00 0.00 1 systemd-journal
02:41:40 PM 0 446 0.00 0.00 0.00 0.00 0 systemd-udevd
02:41:40 PM 0 625 0.00 0.00 0.00 0.00 0 auditd
02:41:40 PM 0 627 0.00 0.00 0.00 0.00 1 audispd
02:41:40 PM 0 629 0.00 0.00 0.00 0.00 0 sedispatch
02:41:40 PM 81 654 0.00 0.00 0.00 0.01 0 dbus-daemon
02:41:40 PM 32 655 0.00 0.00 0.00 0.00 0 rpcbind
02:41:40 PM 70 657 0.00 0.00 0.00 0.00 0 avahi-daemon
02:41:40 PM 172 658 0.00 0.00 0.00 0.00 0 rtkit-daemon
02:41:40 PM 0 659 0.00 0.01 0.00 0.01 0 irqbalance
02:41:40 PM 0 660 0.00 0.00 0.00 0.00 1 accounts-daemon
02:41:40 PM 0 662 0.02 0.00 0.00 0.02 0 rngd
02:41:40 PM 0 663 0.00 0.00 0.00 0.00 0 alsactl
02:41:40 PM 0 664 0.00 0.00 0.00 0.00 1 VGAuthService
02:41:40 PM 0 665 0.03 0.06 0.00 0.09 0 vmtoolsd
02:41:40 PM 0 666 0.00 0.00 0.00 0.00 1 udisksd
02:41:40 PM 0 668 0.00 0.00 0.00 0.00 1 systemd-logind
free
顯示當(dāng)前系統(tǒng)的內(nèi)存使用狀態(tài),包括物理內(nèi)存、交換空間及內(nèi)核緩沖區(qū)等
[root@node1 ~]# free
total used free shared buff/cache available
Mem: 1863104 1121700 84232 21164 657172 555964
Swap: 2097148 18832 2078316
uptime
查看系統(tǒng)運(yùn)行時(shí)間以及平均負(fù)載
[root@node1 ~]# uptime
14:46:20 up 8:21, 3 users, load average: 0.00, 0.02, 0.05
詳細(xì)解釋?zhuān)?/strong>
14:46:20 :當(dāng)前時(shí)間
up 8:21 :上面可以看出系統(tǒng)開(kāi)機(jī)運(yùn)行時(shí)長(zhǎng)
3 users :系統(tǒng)用戶(hù)共3個(gè)
load average: 0.00, 0.02, 0.05:
系統(tǒng)最近1分鐘、5分鐘和15分鐘的平均負(fù)載(load average: 0.23, 0.25, 0.28
)
mpstate
多處理器系統(tǒng)上的CPU利用率報(bào)告
[root@node1 ~]# mpstat
Linux 3.10.0-1062.el7.x86_64 (node1) 03/09/2024 _x86_64_ (2 CPU)
02:43:23 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
02:43:23 PM all 0.08 0.02 0.26 0.01 0.00 0.03 0.00 0.00 0.00 99.6
主機(jī)操作
立即關(guān)機(jī)
# shutdown -h now
指定 10 秒后關(guān)機(jī)
# shutdown -t 10
指定 10分鐘后關(guān)機(jī)
# shutdown -h 10
重新啟動(dòng)計(jì)算機(jī)
# shutdown -r now
重新啟動(dòng)電腦
# reboot
關(guān)機(jī)
# halt
掛載
簡(jiǎn)介
在Linux操作系統(tǒng)中,掛載(mount)是一個(gè)核心概念,它涉及到將外部存儲(chǔ)設(shè)備或文件系統(tǒng)連接到Linux的文件系統(tǒng)層次結(jié)構(gòu)上。當(dāng)一個(gè)硬盤(pán)、分區(qū)、光盤(pán)、USB閃存驅(qū)動(dòng)器或者其他類(lèi)型的存儲(chǔ)設(shè)備需要被Linux系統(tǒng)訪問(wèn)時(shí),就需要通過(guò)掛載操作將其內(nèi)容暴露給系統(tǒng)。
在Linux中執(zhí)行掛載的基本步驟如下:
-
識(shí)別設(shè)備:Linux會(huì)自動(dòng)檢測(cè)到插入的硬件設(shè)備,或者用戶(hù)可以手動(dòng)查詢(xún)?cè)O(shè)備節(jié)點(diǎn)(如?
/dev/sda1
對(duì)應(yīng)第一個(gè)磁盤(pán)的第一個(gè)主分區(qū))。 -
準(zhǔn)備掛載點(diǎn):選擇一個(gè)空目錄作為掛載點(diǎn),這個(gè)目錄將成為訪問(wèn)設(shè)備上文件系統(tǒng)的入口。例如,創(chuàng)建或選擇?
/mnt/usbdrive
?作為U盤(pán)的掛載點(diǎn)。 -
掛載操作:使用?
mount
?命令來(lái)掛載設(shè)備,命令格式通常是:
mount 設(shè)備路徑 掛載點(diǎn)路徑
例如,掛載U盤(pán)到?/mnt/usbdrive
:
sudo mount /dev/sdc1 /mnt/usbdrive
其中?/dev/sdc1
?是設(shè)備文件路徑,表示要掛載的具體設(shè)備分區(qū)。
- 訪問(wèn)文件系統(tǒng):完成掛載后,用戶(hù)就可以像訪問(wèn)任何其他本地目錄一樣訪問(wèn)該設(shè)備上的文件和目錄了。
-
卸載:不再需要訪問(wèn)設(shè)備時(shí),使用?
umount
?命令解除掛載關(guān)系以確保數(shù)據(jù)的一致性和安全移除設(shè)備:
sudo umount /mnt/usbdrive
此外,Linux還支持多種文件系統(tǒng)類(lèi)型,并且可以通過(guò)?-t
?參數(shù)指定文件系統(tǒng)類(lèi)型進(jìn)行掛載。同時(shí),在Linux系統(tǒng)中也可以通過(guò)配置文件?/etc/fstab
?實(shí)現(xiàn)自動(dòng)掛載,這樣系統(tǒng)啟動(dòng)時(shí)就會(huì)自動(dòng)掛載預(yù)定義的設(shè)備和文件系統(tǒng)。
掛載光盤(pán)
大致步驟如下:
ls -l /dev |grep cdrom :
查看存在的連接設(shè)備文件cdrom(在VM設(shè)置中選擇使用鏡像文件,同時(shí),查看右下角是否點(diǎn)亮,沒(méi)有點(diǎn)亮則右鍵>連接即可)
上個(gè)命令后,可以看到光盤(pán)文件名字:cdrom; 然后此時(shí),要注意連接后,虛擬機(jī)右下角光驅(qū)點(diǎn)擊設(shè)置,選擇鏡像文件
mount /dev/cdrom /mnt :
把光盤(pán)掛載到/mnt目錄下
cd /mnt:
去查看文件,這是可以查看到光盤(pán)下的所有文件。掛載成功!
d.cd /Packages
可以進(jìn)入目錄下看到很多的rpm包安裝文件,可以拷貝文件到指定其他目錄。
cp mysql* /opt/soft 復(fù)制文件到其他目錄下
卸載:?umount /dev/cdrom :
此時(shí)再查看mnt目錄 則沒(méi)有了光盤(pán)內(nèi)容
詳細(xì)步驟如下:
1)虛擬機(jī)連接上光驅(qū)
注意:點(diǎn)擊右下角的連接,如果連接不成功,先設(shè)置。出現(xiàn)下圖,然后選擇安裝的 iso 鏡像文件
選擇后,再去連接,就可以了
查看外圍設(shè)備是否連接上 cdrom
[root@zhangpeng /]# ls -al /dev | grep cdrom
lrwxrwxrwx. 1 root root 3 Aug 16 14:43 cdrom -> sr0
crw-rw----+ 1 root cdrom 21, 1 Aug 14 16:15 sg1
brw-rw----+ 1 root cdrom 11, 0 Aug 16 14:43 sr0
掛載
[root@zhangpeng /]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@zhangpeng /]# ls /mnt
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL
[root@zhangpeng /]#
上面表示掛載成功!再使用 ls /mnt 查看,可以看到掛載后的光盤(pán)中所有文件了。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-839083.html
可以再使用 du 命令查看 cdrom 中的安裝包。其中 Packages 目錄下存放的 CentOS7 安裝的文件包。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-839083.html
[root@wang dev]# ls /mnt
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL
[root@wang dev]# du /mnt
2503 /mnt/EFI/BOOT/fonts
8445 /mnt/EFI/BOOT
8448 /mnt/EFI
60362 /mnt/images/pxeboot
69069 /mnt/images
60731 /mnt/isolinux
486703 /mnt/LiveOS
3971263 /mnt/Packages
14958 /mnt/repodata
4611199 /mnt
卸載
[root@zhangpeng ~]# umount /dev/cdrom
[root@zhangpeng ~]# ls /mnt ## 卸載成功后,再次查看,沒(méi)有了
[r
到了這里,關(guān)于Linux 之六:系統(tǒng)性能監(jiān)控和掛載的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!