當前位置:首頁 » 操作系統 » linux查看io使用情況

linux查看io使用情況

發布時間: 2022-05-19 16:03:00

linux查看伺服器cpu,內存使用情況

第一種:用 top 命令 中的cpu 信息觀察
Top可以看到的cpu信息有:
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
具體的解釋如下:
Tasks: 29 total 進程總數
1 running 正在運行的進程數
28 sleeping 睡眠的進程數
0 stopped 停止的進程數
0 zombie 僵屍進程數
Cpu(s):
0.3% us 用戶空間佔用CPU百分比
1.0% sy 內核空間佔用CPU百分比
0.0% ni 用戶進程空間內改變過優先順序的進程佔用CPU百分比
98.7% id 空閑CPU百分比
0.0% wa 等待輸入輸出的CPU時間百分比
0.0% hi
0.0% si
0.0% wa 的百分比可以大致的體現出當前的磁碟io請求是否頻繁。如果 wa的數量比較大,說明等待輸入輸出的的io比較多。
第二種:用vmstat
vmstat 命令報告關於線程、虛擬內存、磁碟、陷阱和 CPU 活動的統計信息。由 vmstat 命令生成的報告可以用於平衡系統負載活動。系統范圍內的這些統計信息(所有的處理器中)都計算出以百分比表示的平均值,或者計算其總和。
輸入命令:
vmstat 2 5
如果發現等待的進程和處在非中斷睡眠狀態的進程數非常多,並且發送到塊設備的塊數和從塊設備接收到的塊數非常大,那就說明磁碟io比較多。
vmstat參數解釋:
Procs
r: 等待運行的進程數 b: 處在非中斷睡眠狀態的進程數 w: 被交換出去的可運行的進程數。此數由 linux 計算得出,但 linux 並不耗盡交換空間
Memory
swpd: 虛擬內存使用情況,單位:KB
free: 空閑的內存,單位KB
buff: 被用來做為緩存的內存數,單位:KB
Swap
si: 從磁碟交換到內存的交換頁數量,單位:KB/秒
so: 從內存交換到磁碟的交換頁數量,單位:KB/秒
IO
bi: 發送到塊設備的塊數,單位:塊/秒
bo: 從塊設備接收到的塊數,單位:塊/秒
System
in: 每秒的中斷數,包括時鍾中斷
cs: 每秒的環境(上下文)切換次數
CPU
按 CPU 的總使用百分比來顯示
us: CPU 使用時間
sy: CPU 系統使用時間
id: 閑置時間

② 如何查看Linux cpu/內存/硬碟/IO等數據

cpu
top
看進程和cpu的使用率
uptime
看cpu負載
內存
free
看內存呢虛擬內存
-m
是以兆為單位顯示
硬碟
df
-hT
查看個各個分區的使用情況,-h是以G為單位顯示
-T是顯示分區的系統類型
iostat
-x
1
可以查看磁碟的IO信息

③ 如何查看linux主機的I/O狀況

cat /proc/version
你的伺服器程序的前端程序有help的話一般會提供版本號
/usr/local/httpd/bin/mshttpd -v

④ linux怎樣查看那個進程佔用網路io

查看linux進程佔用埠步驟如下:

  1. lsof -i 用以顯示符合條件的進程情況,lsof(list open files)是一個列出當前系統打開文件的工具。以root用戶來執行lsof -i命令,如下圖


    ⑤ 如何監測Linux進程的實時IO讀寫情況

    如何查看進程 IO 讀寫情況
    Linux Kernel 2.6.20 以上的內核支持進程 IO 統計,可以用類似 iotop 這樣的工具來監測每個進程對 IO 操作的情況,就像用 top 來實時查看進程內存、CPU 等佔用情況那樣。但是對於 2.6.20 以下的 Linux 內核版本就沒那麼幸運了,根據 Stack Overflow 的這篇回帖 給出的方法,寫了一個簡單的 python 腳本用來在 linux kernel < 2.6.20 下列印進程 IO 狀況。
    Kernel < 2.6.20

    這個腳本的想法很簡單,把 dmesg 的結果重定向到一個文件後再解析出來,每隔1秒鍾列印一次進程 IO 讀寫的統計信息,執行這個腳本需要 root:
    #!/usr/bin/python
    # Monitoring per-process disk I/O activity

    ⑥ linux 系統查看哪個進程佔io

    lsof
    是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網路連接和硬體。
    常用的參數列表
    lsof
    filename
    顯示打開指定文件的所有進程
    lsof
    -a
    表示兩個參數都必須滿足時才顯示結果
    lsof
    -c
    string
    顯示COMMAND列中包含指定字元的進程所有打開的文件
    lsof
    -u
    username
    顯示所屬user進程打開的文件
    lsof
    -g
    gid
    顯示歸屬gid的進程情況
    lsof
    +d
    /DIR/
    顯示目錄下被進程打開的文件
    lsof
    +D
    /DIR/
    同上,但是會搜索目錄下的所有目錄,時間相對較長
    lsof
    -d
    FD
    顯示指定文件描述符的進程
    lsof
    -n
    不將IP轉換為hostname,預設是不加上-n參數
    lsof
    -i
    用以顯示符合條件的進程情況
    lsof
    -i[46]
    [protocol][@hostname|hostaddr][:service|port]
    46
    -->
    IPv4
    or
    IPv6
    protocol
    -->
    TCP
    or
    UDP
    hostname
    -->
    Internet
    host
    name
    hostaddr
    -->
    IPv4地址
    service
    -->
    /etc/service中的
    service
    name
    (可以不只一個)
    port
    -->
    埠號
    (可以不只一個)

    ⑦ 如何查看linux伺服器io讀寫情況

    首先 、用top命令查看
    top - 16:15:05 up 6 days, 6:25, 2 users, load average: 1.45, 1.77, 2.14
    Tasks: 147 total, 1 running, 146 sleeping, 0 stopped, 0 zombie
    Cpu(s): 0.2% us, 0.2% sy, 0.0% ni, 86.9% id, 12.6% wa, 0.0% hi, 0.0% si
    Mem: 4037872k total, 4003648k used, 34224k free, 5512k buffers
    Swap: 7164948k total, 629192k used, 6535756k free, 3511184k cached
    查看12.6% wa
    IO等待所佔用的CPU時間的百分比,高過30%時IO壓力高
    其次、 用iostat -x 1 10
    avg-cpu: %user %nice %sys %iowait %idle
    0.00 0.00 0.25 33.46 66.29
    Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
    sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
    sdb 0.00 1122 17.00 9.00 192.00 9216.00 96.00 4608.00 123.79 137.23 1033.43 13.17 100.10
    sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    查看%util 100.10 %idle 66.29
    如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸。
    idle小於70% IO壓力就較大了,一般讀取速度有較多的wait.
    同時可以結合vmstat 查看查看b參數(等待資源的進程數)
    vmstat -1
    如果你想對硬碟做一個IO負荷的壓力測試可以用如下命令
    time dd if=/dev/zero bs=1M count=2048 of=direct_2G
    此命令為在當前目錄下新建一個2G的文件
    我們在新建文件夾的同時來測試IO的負荷情況

    ⑧ linux中查看虛擬內存和cpu佔用率的命令是什麼

    top,free,cat/proc/meminfo,cat/proc/cpuinfo。

    [root@centerlisdbproc]#dmidecode|grep-A16"MemoryDevice"|more[objectObject]。

    查看內存使用情況:cat/proc/meminfo,查看CPU使用情況:cat /proc/cpuinfo。

    在系統維護的過程中,隨時可能有需要查看 CPU 使用率,並根據相應信息分析系統狀況的需要。在 CentOS 中,可以通過 top 命令來查看 CPU 使用狀況。

    運行 top 命令後,CPU 使用狀態會以全屏的方式顯示,並且會處在對話的模式 -- 用基於 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 運行中敲 q 鍵一次)。

    top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。

    可以直接使用top命令後,查看%MEM的內容。可以選擇按進程查看或者按用戶查看,如想查看oracle用戶的進程內存使用情況的話可以使用如下的命令:$ top -u oracle。

    (8)linux查看io使用情況擴展閱讀:

    一、查看內存佔用:

    1、free

    # free -m。

    以MB為單位顯示內存使用情況。

    # free -h。

    以GB為單位顯示內存使用情況。

    # free -t。

    以總和的形式查詢內存的使用信息。

    # free -s 5。

    周期性的查詢內存使用信息。

    每5秒執行一次命令。

    二、查看CPU使用情況:

    1、top。

    top後鍵入P看一下誰佔用最大。

    # top -d 5。

    周期性的查詢CPU使用信息。

    每5秒刷新一次。

    2、ps auxw(查看本機的進程所佔cpu和mem的百分比情況)。

    使用"ps auxw" 可以查看到本機的進程所佔cpu和mem的百分比情況。

    # ps auxw | head -1

    %CPU 進程的cpu佔用率。

    %MEM 進程的內存佔用率。

    3、查看本機所有進程的CPU佔比之和。

    # cat cpu_per.sh

    三、查看cpu信息(信息記錄在/proc/cpuinfo中)

    # 總核數 = 物理CPU個數 X 每顆物理CPU的核數。

    # 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數。



    ⑨ linux查看網路io使用率

    sar -n DEV

    不帶其他參數 看當天的網路IO 預設取樣時間為1秒,間隔為10分鍾
    加 -f /var/log/sa/saxx可察看某日的歷史,xx為當月或上月的日期(day of the month)前提是改文件存在

    察看即時IO用sar -n DEV 1 999 表示取樣間隔為1秒,取樣999次

    具體欄位的含義我就不醉贅述了

    ⑩ 如何查看Linux下進程的IO活動狀況 00 Hey,Linux

    您好,很高興為您解答。伺服器cpu使用率不高,load比較高,所以要查看一下IO。硬碟IO可以通過命令vmstat或iostat獲得(也可以用yum安裝dstat獲得),網路IO可以用iftop命令獲取。但是不知道那個進程使用硬碟IO比較高,通過查找沒有找到相關命令,只好自己寫個腳本進行統計處理。本腳本在CentOS6下(kernel2.6以上)python2.6測試通過。直接運行腳本,默認情況下收集3秒鍾數據,顯示讀寫最高的前三個進程。如用參數可以使用命令「pythonfhip.py453」,第一個數位每次收集讀寫數據的間隔秒數,第二個數是列印出讀寫最多的n個進程,第三個為運行腳本的次數。因為參數部分寫的比較簡單那,所以用參數必須3個全寫。。#!/bin/python#-*-coding:utf-8-*-#Filename:ind_high_io_process#Revision:1.0#Date:2013-3-8#Author:simonzhang#web:#######sys_proc_path='/proc/'re_find_process_number='^\d+$'#####通過/proc/$pid/io獲取讀寫信息####defcollect_info():_tmp={}re_find_process_dir=re.compile(re_find_process_number)foriinos.listdir(sys_proc_path):ifre_find_process_dir.search(i):#獲得進程名process_name=open("%s%s/stat"%(sys_proc_path,i),"rb").read().split("")[1]#讀取io信息rw_io=open("%s%s/io"%(sys_proc_path,i),"rb").readlines()for_infoinrw_io:cut_info=strip(_info).split(':')ifstrip(cut_info[0])=="read_bytes":read_io=int(strip(cut_info[1]))ifstrip(cut_info[0])=="write_bytes":write_io=int(strip(cut_info[1]))_tmp[i]={"name":process_name,"read_bytes":read_io,"write_bytes":write_io}return_tmpdefmain(_sleep_time,_list_num):_sort_read_dict={}_sort_write_dict={}#獲取系統讀寫數據process_info_list_frist=collect_info()time.sleep(_sleep_time)process_info_list_second=collect_info()#將讀數據和寫數據進行分組,寫入兩個字典中forloopinprocess_info_list_second.keys():second_read_v=process_info_list_second[loop]["read_bytes"]second_write_v=process_info_list_second[loop]["write_bytes"]try:frist_read_v=process_info_list_frist[loop]["read_bytes"]except:frist_read_v=0try:frist_write_v=process_info_list_frist[loop]["write_bytes"]except:frist_write_v=0#計算第二次獲得數據域第一次獲得數據的差_sort_read_dict[loop]=second_read_v-frist_read_v_sort_write_dict[loop]=second_write_v-frist_write_v#將讀寫數據進行排序sort_read_dict=sorted(_sort_read_dict.items(),key=lambda_sort_read_dict:_sort_read_dict[1],reverse=True)sort_write_dict=sorted(_sort_write_dict.items(),key=lambda_sort_write_dict:_sort_write_dict[1],reverse=True)#列印統計結果print"pidprocessread(bytes)pidprocesswrite(btyes)"for_numinrange(_list_num):read_pid=sort_read_dict[_num][0]write_pid=sort_write_dict[_num][0]res="%s"%read_pidres+=""*(8-len(read_pid))+process_info_list_second[read_pid]["name"]res+=""*(12-len(process_info_list_second[read_pid]["name"]))+"%s"%sort_read_dict[_num][1]res+=""*(12-len("%s"%sort_read_dict[_num][1]))+write_pidres+=""*(8-len(write_pid))+process_info_list_second[write_pid]["name"]res+=""*(12-len("%s"%process_info_list_second[write_pid]["name"]))+"%s"%sort_write_dict[_num][1]printresprint"\n"*1if__name__=='__main__':try:_sleep_time=sys.argv[1]except:_sleep_time=3try:_num=sys.argv[2]except:_num=3try:loop=sys.argv[3]except:loop=1foriinrange(int(loop)):main(int(_sleep_time),int(_num))如若滿意,請點擊【採納答案】,如若還有問題,請點擊【追問】希望我的回答對您有所幫助,望採納!~O(∩_∩)O~

熱點內容
谷能壓縮機 發布:2025-01-13 15:44:30 瀏覽:412
電腦電腦直連通訊ftp 發布:2025-01-13 15:38:03 瀏覽:717
nvm存儲 發布:2025-01-13 15:36:19 瀏覽:552
京東架構師緩存經驗 發布:2025-01-13 15:33:00 瀏覽:726
android圖片顏色 發布:2025-01-13 15:26:09 瀏覽:268
國家稅務總局電腦伺服器 發布:2025-01-13 15:10:24 瀏覽:596
金立老款機的開機密碼是多少 發布:2025-01-13 15:04:45 瀏覽:456
湖南網上辦稅初始密碼多少 發布:2025-01-13 15:02:49 瀏覽:417
怎麼使用筆記本連接伺服器 發布:2025-01-13 15:02:48 瀏覽:705
長城cs75plus選哪個配置 發布:2025-01-13 14:54:05 瀏覽:22