unix linux 下彙總單一使用者 cpu mem 使用率 等維護資訊
最近專案需要做報表,要記錄單一使用者的cpu和mem使用率,研究了一下awk
[root@app1 ~]# ps aux |head
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 10372 664 ? Ss Jan18 0:15 init [3]
root 2 0.0 0.0 0 0 ? S< Jan18 1:09 [migration/0]
root 3 0.0 0.0 0 0 ? SN Jan18 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< Jan18 0:00 [watchdog/0]
root 5 0.0 0.0 0 0 ? S< Jan18 0:05 [migration/1]
root 6 0.0 0.0 0 0 ? SN Jan18 7:05 [ksoftirqd/1]
root 7 0.0 0.0 0 0 ? S< Jan18 0:00 [watchdog/1]
root 8 0.0 0.0 0 0 ? S< Jan18 0:04 [migration/2]
root 9 0.0 0.0 0 0 ? SN Jan18 1:54 [ksoftirqd/2]
先確定輸出列
先確定輸出列
ps aux |awk '{if ($1 ~ /^nobody$/) {print $1"\t",$2"\t",$3"\t",$4}}'
顯示
nobody 使用者
[root@app1 ~]# ps aux |awk '{if ($1 ~ /^nobody$/) {print $1"\t",$2"\t",$3"\t",$4}}'
nobody 14625 0.0 0.0
nobody 14626 0.6 0.0
nobody 14627 0.6 0.0
nobody 14881 0.6 0.0
依次代表: USER PID %CPU %MEM 對應$1,$2,$3,$4
然後研究彙總處理,awk忘得差不多了,臨時找資料簡單研究了一下,做了個能實現功能的簡陋品:
ps aux |awk '{if ($1 ~ /^nobody$/) {print $1"\t",$2"\t",$3"\t",$4}}'|awk '{if(!ind[i]){ind[i++]=n;}}{sumi[n]+=$3;}{ if(!lnd[l]){lnd[l++]=m;}}{suml[m]+=$4;}END{for(j=0;j|head -1
中間居然用了3個管道符,2次awk還有個head~真難看~
結果如下:
nobody使用者:
依次代表: USER PID %CPU %MEM 對應$1,$2,$3,$4
然後研究彙總處理,awk忘得差不多了,臨時找資料簡單研究了一下,做了個能實現功能的簡陋品:
ps aux |awk '{if ($1 ~ /^nobody$/) {print $1"\t",$2"\t",$3"\t",$4}}'|awk '{if(!ind[i]){ind[i++]=n;}}{sumi[n]+=$3;}{ if(!lnd[l]){lnd[l++]=m;}}{suml[m]+=$4;}END{for(j=0;j|head -1
中間居然用了3個管道符,2次awk還有個head~真難看~
結果如下:
nobody使用者:
[root@app1 ~]# ps aux |awk '{if ($1 ~ /^nobody$/) {print $1"\t",$2"\t",$3"\t",$4}}'|awk '{if(!ind[i]){ind[i++]=n;}}{sumi[n]+=$3;}{ if(!lnd[l]){lnd[l++]=m;}}{suml[m]+=$4;}END{for(j=0;j
依次代表: USER %CPU %MEM
程式碼雖然臃腫難看,效果還是達到了,專案時間太急,BOSS答應甲方答應的很痛快,我們就得悲催了。。。。
過來這陣再回來優化一下程式碼吧~有路過的朋友來一起討論一下吧~謝謝~
nobody 1.8 0
依次代表: USER %CPU %MEM
root使用者:
root 54.9 10.8依次代表: USER %CPU %MEM
root使用者:
[root@app1 ~]# ps aux |awk '{if ($1 ~ /^root$/) {print $1"\t",$2"\t",$3"\t",$4}}'|awk '{if(!ind[i]){ind[i++]=n;}}{sumi[n]+=$3;}{ if(!lnd[l]){lnd[l++]=m;}}{suml[m]+=$4;}END{for(j=0;j
依次代表: USER %CPU %MEM
程式碼雖然臃腫難看,效果還是達到了,專案時間太急,BOSS答應甲方答應的很痛快,我們就得悲催了。。。。
過來這陣再回來優化一下程式碼吧~有路過的朋友來一起討論一下吧~謝謝~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-729860/,如需轉載,請註明出處,否則將追究法律責任。
請登入後發表評論
登入
全部評論
相關文章
- unix CPU、Disk、Mem、Swap檢視工具
- 轉:Linux check mem,cpu,SwapLinux
- MySQL日誌維護策略彙總MySql
- Linux基本運維彙總Linux運維
- 2.linux monitor cpu&mem收集資料Linux
- linux下埠彙總Linux
- Linux檢視CPU使用率Linux
- Linux檢視CPU資訊、機器型號等硬體資訊Linux
- db2 cpu mem選型DB2
- linux系統進入single單使用者維護模式Linux模式
- Linux檢視版本資訊及CPU核心、型號等Linux
- 轉:linux系統進入single單使用者維護模式Linux模式
- [Shell] monitor cpu&mem收集資料
- Linux-Unix系統操作與維護常用命令Linux
- Linux下檢視記憶體,CPU資訊Linux記憶體
- 維護區間資訊
- Linux中如何檢視CPU使用率?Linux
- 運維人員常用的Linux命令彙總運維Linux
- Linux運維常用的20個命令彙總!Linux運維
- SAP PM 入門系列11 - 一個維護通知單隻能建立一個維護訂單?
- 檢視Linux版本系統資訊方法彙總Linux
- 在unix下和linux下建立裸裝置總結Linux
- 檢視linux系統版本,核心,CPU,MEM,位數的相關命令Linux
- Linux 運維必備 150 個命令彙總Linux運維
- Linux下電信等IP地址彙總並以 網段/掩碼 格式顯示Linux
- dble運維命令彙總運維
- 【Linux】CPU資訊查詢Linux
- MySQL information_schema庫下的表型別資訊彙總MySqlORM型別
- 查詢UNIX/LINUX 下的佔用CPU資源的SQL語句LinuxSQL
- ASM資訊資料彙總ASM
- Linux下MySQL安裝和日常維護(1)LinuxMySql
- Linux下MySQL安裝和日常維護(2)LinuxMySql
- Linux下MySQL安裝和日常維護(3)LinuxMySql
- 微信小程式維護登入態與獲取使用者資訊微信小程式
- 在 UNIX中用sar命令進行系統維護
- PostgreSQL DBA(88) - Linux(CPU使用率 vs 平均負載)SQLLinux負載
- 如何定位死迴圈或高CPU使用率(linux)Linux
- 遊戲畫面中實時顯示FPS幀數和CPU和顯示卡使用率、溫度等資訊的方法遊戲