當前位置:首頁 » 操作系統 » linuxcip

linuxcip

發布時間: 2023-02-08 03:54:09

1. 如何查看linux的cpu使用率

CPU使用率是一個很常見的查詢項
可以查詢的命令也有很多種
舉例說明如下:
1.top
使用許可權:所有使用者
使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
說明:即時顯示process的動態
d :改變顯示的更新速度,或是在交談式指令列( interactive command)按s
q :沒有任何延遲的顯示速度,如果使用者是有superuser的許可權,則top將會以最高的優先序執行
c :切換顯示模式,共有兩種模式,一是只顯示執行檔的名稱,另一種是顯示完整的路徑與名稱S :累積模式,會將己完成或消失的子行程( dead child process )的CPU time累積起來
s :安全模式,將交談式指令取消,避免潛在的危機
i :不顯示任何閑置(idle)或無用(zombie)的行程
n :更新的次數,完成後將會退出top
b :批次檔模式,搭配"n"參數一起使用,可以用來將top的結果輸出到檔案內

範例:
顯示更新十次後退出;
top -n 10

使用者將不能利用交談式指令來對行程下命令:
top -s

將更新顯示二次的結果輸入到名稱為top.log的檔案里:
top -n 2 -b < top.log
另附一個命令簡介linux traceroutewindows tracert兩個命令相當,跟蹤網路路由

2.vmstat
正如我們之前討論的任何系統的性能比較都是基於基線的,並且監控CPU的性能就是以上3點,運行隊列、CPU使用率和上下文切換。以下是一些對於CPU很普遍的性能要求:
1.對於每一個CPU來說運行隊列不要超過3,例如,如果是雙核CPU就不要超過6;
2.如果CPU在滿負荷運行,應該符合下列分布,
a) User Time:65%~70%
b) System Time:30%~35%
c) Idle:0%~5%
3. mpstat
對於上下文切換要結合CPU使用率來看,如果CPU使用滿足上述分布,大量的上下文切換也是可以接受的。
常用的監視工具有:vmstat, top,dstat和mpstat.
# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 104300 16800 95328 72200 0 0 5 26 7 14 4 1 95 0
0 0 104300 16800 95328 72200 0 0 0 24 1021 64 1 1 98 0
0 0 104300 16800 95328 72200 0 0 0 0 1009 59 1 1 98 0
r表示運行隊列的大小,
b表示由於IO等待而block的線程數量,
in表示中斷的數量,
cs表示上下文切換的數量,
us表示用戶CPU時間,
sys表示系統CPU時間,
wa表示由於IO等待而是CPU處於idle狀態的時間,
id表示CPU處於idle狀態的總時間。
dstat可以給出每一個設備產生的中斷數:
# dstat -cip 1
----total-cpu-usage---- ----interrupts--- ---procs---
usr sys idl wai hiq siq| 15 169 185 |run blk new
6 1 91 2 0 0| 12 0 13 | 0 0 0
1 0 99 0 0 0| 0 0 6 | 0 0 0
0 0 100 0 0 0| 18 0 2 | 0 0 0
0 0 100 0 0 0| 0 0 3 | 0 0 0
我們可以看到這里有3個設備號15,169和185.設備名和設備號的關系我們可以參考文件/proc/interrupts,這里185代表網卡eth1.
# cat /proc/interrupts
CPU0
0: 1277238713 IO-APIC-edge timer
6: 5 IO-APIC-edge floppy
7: 0 IO-APIC-edge parport0
8: 1 IO-APIC-edge rtc
9: 1 IO-APIC-level acpi
14: 6011913 IO-APIC-edge ide0
15: 15761438 IO-APIC-edge ide1
169: 26 IO-APIC-level Intel 82801BA-ICH2
185: 16785489 IO-APIC-level eth1
193: 0 IO-APIC-level uhci_hcd:usb1
mpstat可以顯示每個CPU的運行狀況,比如系統有4個CPU。我們可以看到:
# mpstat –P ALL 1
Linux 2.4.21-20.ELsmp (localhost.localdomain) 05/23/2006
05:17:31 PM CPU %user %nice %system %idle intr/s
05:17:32 PM all 0.00 0.00 3.19 96.53 13.27
05:17:32 PM 0 0.00 0.00 0.00 100.00 0.00
05:17:32 PM 1 1.12 0.00 12.73 86.15 13.27
05:17:32 PM 2 0.00 0.00 0.00 100.00 0.00
05:17:32 PM 3 0.00 0.00 0.00 100.00 0.00
總結的說,CPU性能監控包含以下方面:
檢查系統的運行隊列,確保每一個CPU的運行隊列不大於3.
確保CPU使用分布滿足70/30原則(用戶70%,系統30%)。
如果系統時間過長,可能是因為頻繁的調度和改變優先順序。
CPU Bound進程總是會被懲罰(降低優先順序)而IO Bound進程總會被獎勵(提高優先順序)。

4.prstat命令
要顯示系統上當前運行的進程和項目的各種統計信息,請使用帶有-J選項的prstat命令:

%prstat -J
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
21634 jtd 5512K 4848K cpu0 44 0 0:00.00 0.3% prstat/1
324 root 29M 75M sleep 59 0 0:08.27 0.2% Xsun/1
15497 jtd 48M 41M sleep 49 0 0:08.26 0.1% adeptedit/1
328 root 2856K 2600K sleep 58 0 0:00.00 0.0% mibiisa/11
1979 jtd 1568K 1352K sleep 49 0 0:00.00 0.0% csh/1
1977 jtd 7256K 5512K sleep 49 0 0:00.00 0.0% dtterm/1
192 root 3680K 2856K sleep 58 0 0:00.36 0.0% automountd/5
1845 jtd 24M 22M sleep 49 0 0:00.29 0.0% dtmail/11
1009 jtd 9864K 8384K sleep 49 0 0:00.59 0.0% dtwm/8
114 root 1640K 704K sleep 58 0 0:01.16 0.0% in.routed/1
180 daemon 2704K 1944K sleep 58 0 0:00.00 0.0% statd/4
145 root 2120K 1520K sleep 58 0 0:00.00 0.0% ypbind/1
181 root 1864K 1336K sleep 51 0 0:00.00 0.0% lockd/1
173 root 2584K 2136K sleep 58 0 0:00.00 0.0% inetd/1
135 root 2960K 1424K sleep 0 0 0:00.00 0.0% keyserv/4
PROJID NPROC SIZE RSS MEMORY TIME CPU PROJECT
10 52 400M 271M 68% 0:11.45 0.4% booksite
0 35 113M 129M 32% 0:10.46 0.2% system

Total: 87 processes, 205 lwps, load averages: 0.05, 0.02, 0.02

要顯示系統上當前運行的進程和任務的各種統計信息,請使用帶有-T選項的prstat命令:

%prstat -T
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
23023 root 26M 20M sleep 59 0 0:03:18 0.6% Xsun/1
23476 jtd 51M 45M sleep 49 0 0:04:31 0.5% adeptedit/1
23432 jtd 6928K 5064K sleep 59 0 0:00:00 0.1% dtterm/1
28959 jtd 26M 18M sleep 49 0 0:00:18 0.0% .netscape.bin/1
23116 jtd 9232K 8104K sleep 59 0 0:00:27 0.0% dtwm/5
29010 jtd 5144K 4664K cpu0 59 0 0:00:00 0.0% prstat/1
200 root 3096K 1024K sleep 59 0 0:00:00 0.0% lpsched/1
161 root 2120K 1600K sleep 59 0 0:00:00 0.0% lockd/2
170 root 5888K 4248K sleep 59 0 0:03:10 0.0% automountd/3
132 root 2120K 1408K sleep 59 0 0:00:00 0.0% ypbind/1
162 daemon 2504K 1936K sleep 59 0 0:00:00 0.0% statd/2
146 root 2560K 2008K sleep 59 0 0:00:00 0.0% inetd/1
122 root 2336K 1264K sleep 59 0 0:00:00 0.0% keyserv/2
119 root 2336K 1496K sleep 59 0 0:00:02 0.0% rpcbind/1
104 root 1664K 672K sleep 59 0 0:00:03 0.0% in.rdisc/1
TASKID NPROC SIZE RSS MEMORY TIME CPU PROJECT
222 30 229M 161M 44% 0:05:54 0.6% group.staff
223 1 26M 20M 5.3% 0:03:18 0.6% group.staff
12 1 61M 33M 8.9% 0:00:31 0.0% group.staff
1 33 85M 53M 14% 0:03:33 0.0% system

Total: 65 processes, 154 lwps, load averages: 0.04, 0.05, 0.06

注–
-J和-T選項不能一起使用。

2. Linux伺服器如何獲取出口ip

本周因為工作需要,需要獲取伺服器對應的出口ip,這里對獲取方式做一下記錄。

這里機器都可以訪問到外網情況下,否則的話獲取出口IP就沒有什麼意義了。

可以看到該請求方式獲取到的信息非常詳細,包括出口ip、包括運營商、地址等信息

如果僅僅獲取IP,可以使用(不過嘗試的時候,會出現卡頓)

可以登錄cip.cc網站查看

方式二

該請求會直接將出口ip返回

可以登錄ifconfig.io查看一些常用的curl命令

方式三

藉助類似aws的服務

該請求也是直接將出口ip返回

3. C語言 Linux下編譯錯誤

argument 這里指的是實參。
整句翻譯 :警告:格式『%d' 期望的參數類型是 'int ',但是第五個參數類型是 long unsigned int,所以數據可能會溢出

4. 怎樣在Linux中使用藍牙

方法如下:

1、終端使用命令lsusb

5、然後開始連接了,連接階段使用的主要命令是rfcomm:

運行rfcomm --help 可以查看用法

首先需要綁定目的藍牙設備:

sudo rfcomm bind /dev/rfcomm0 E0:A6:70:8C:A3:02

注意:上面的這個地址是目的藍牙設備的硬體地址。

接著連接:

sudo cat >/dev/rfcomm0

這是目的藍牙主機就會彈出一個對話框要求輸入pin碼,隨便輸入一個,然後主機就會彈出一個對話框,只要輸入的和剛才一致就可以通過驗證。之後我們發現我的手機已經顯示了成功配對的標記了。

5. linux運維之LVS(一)

關於LVS負載均衡

一、什麼是負載均衡:

    負載均衡集群提供了一種廉價、有效、透明的方法,來擴展網路設備和

伺服器的負載、帶寬、增加吞吐量、加強網路數據處理能力,提高網路的靈活性

和可用性。

二、搭建負載均衡服務的需求:

1)把單台計算機無法承受的大規模的並發訪問或者數據流量分擔到多台節點設備上

分別處理,減少用戶等待響應的時間,提升用戶體驗。

2)單個重負載的運算分擔到多台節點設備上做並行處理,每個節點設備結束後,

將結果匯總,返回給用戶,系統處理能力得到大幅度提升。

3)7*24的服務保證,任意一個或多個有限節點設備宕機,要求不能影響業務。

三、LVS的介紹:

    LVS是Linux Virtual Server的簡寫,即Linux虛擬伺服器,是一個虛擬的伺服器

集群系統,可以在UNIX/LINUX平台下實現負載均衡集群功能。

    該項目是在1998年5月由章文嵩博士組織成立的,是中國國內最早出現的自由

軟體項目之一。

四、關於LVS的配置使用:

    LVS負載均衡調度技術是在Linux內核中實現的,因此,被稱為Linux

虛擬伺服器。我們使用該軟體配置LVS時候,不能直接配置內核中的ipvs,

而需要使用ipvs的管理工具ipvsadm進行管理,ipvs的管理工具ipvsadm管理ipvs。

五、LVS技術點小結:

1)真正實現負載均衡的工具是ipvs,工作在linux內核層面。

2)LVS自帶的ipvs管理工具是ipvsadm。

3)keepalived實現管理ipvs及對負載均衡器的高可用。

4)Red hat工具Piranha WEB管理實現調度的工具ipvs。

六、LVS體系結構與工作原理:

1)LVS集群負載均衡接收服務的所有入站客戶端計算機請求,並根據調度演算法決定哪個集群節點應該處理回復請求。

負載均衡(LB)有時也被稱為LVS Director(簡稱 Director).

2)LVS虛擬伺服器的體系結構如下圖,一組伺服器通過高速的區域網或者地理分布

的廣域網相互連接,在他們的前端有一個負載調度器(Load Balancer)。負載調度器能

無縫地將網路請求調度到真正的伺服器上,從而使得伺服器集群的結構對客戶是透明的,

客戶訪問集群系統提供的網路服務就像訪問一台高性能、高可用的伺服器一樣。客戶程序

不受伺服器集群的影響不需做任何修改。系統的伸縮性通過在服務集群中透明地加入和刪除

一個節點來達到,通過檢測節點或服務進程故障和正確的重置系統達到高可用性。由於我們的負載調度技術在

linux內核中實現的,我們稱之為linux虛擬伺服器(Linux Virtual Server)。

七、LVS社區提供了一個命名的約定:

名稱:                              縮寫         

虛擬IP地址(Virtual IP Address)    VIP

說明:VIP為Director用於向客戶端計算機提供服務的ip地址,

比如:www.etiantian.org 域名就解析到vip上提供服務。

-------------------------------------------------------------------------------

真實ip地址(Real Server ip Address)    縮寫:VIP

說明:在集群下面節點上使用的ip地址,物理ip地址。

-----------------------------------------------------------------------------------

Director的ip地址(Director ip Adress)  縮寫:DIP

說明:Director用於連接內外網路的ip地址,物理網卡上的IP地址,

是負載均衡上的ip。

-------------------------------------------------------------------------------------

客戶端主機IP地址(Client IP Address)  縮寫:CIP

說明:客戶端用戶計算機請求集群伺服器的IP地址,該地址用作發送

給集群的請求的源ip地址。

----------------------------------------------------------------

LVS集群內部的節點稱為真實伺服器(Real server),也叫做集群節點。請求集群服務的

計算機稱為客戶端計算機。

與計算機通常在網上交換數據包的方式相同,客戶端計算機、Director

和真實伺服器使用IP地址彼此進行通信。

------------------------------------------------------------------------------------------

八、LVS集群的3種工作模式介紹與原理講解

1)IP虛擬服務軟體ipvs,在調度器的實現技術中,IP負載均衡技術是

效率最高的。在已用的ip負載均衡技術中有通過網路地址轉換

(Network Address Translation)將一組伺服器構成一個高性能的、高可用的虛擬伺服器,

我們稱之為VS、NAT技術(Virtual Server Network Adress Translation)。

2)在分析VS/NAT的缺點和網路服務的非對稱性的基礎上,我們提出通過IP隧道實現虛擬伺服器的

方法VS/TUN(Virtual Server via IP Tunneling)和通過直接路由實現虛擬服務

器的方法VS/DR(Virtual Server via Director Routing),它們可以極大地提高系統的伸縮性。

3)淘寶開源的模式FULLNAT。

LVS的四種工作模式:

    縮寫及全拼:

NAT(Network Adress Translation)、TUN(Tunneling)、

DR(Director Routing)、FULLNAT(FULL Network address Translation)

-------------------------------------------------------------------------------------------

九、什麼是ARP協議:

1) ARP協議:全稱"Address Resolution Protocol",中文名地址解析協議,使用ARP協議可

實現通過IP地址獲得得對應主機的物理地址(MAC地址)。

  在TCP/IP的網路環境下,每個聯網的主機都會被分配一個32位的ip地址,

  這種互聯網地址是在網際范圍標識主機的一種邏輯地址。為了讓報文在

物理網路上傳輸,還必須要知道對方目的主機的物理地址(MAC)才行。這樣就存在把IP地址變成

物理地址的地址轉換的問題。

    在乙太網環境,為了正確地目的主機傳送報文,必須把目的主機的32位IP

地址轉換成為目的主機48位乙太網的地址(MAC地址)。這就需要在互聯層有一個服務或功能將

IP地址轉換為相應的物理地址(MAC地址),這個服務或者功能就是ARP協議。

    所謂的「地址解析」,就是主機在發送幀之前將目標IP地址轉換成目標MAC地址的過程,

ARP協議的基本功能就是通過目標設備的ip地址,查詢目標設備的MAC地址,以保證主機

間互相通信的順利進行。

    ARP協議和DNS有點相像之處,不同點是:DNS是在域名和IP之間的解析,另外,ARP協議不需要

配置服務,而DNS要配置服務才行。

    ARP協議要求通信的主機雙方必須在同一個物理網段(即區域網)!

2)關於ARP的小結:

1.ARP全稱「Address Resolution Protocol」;

2.實現區域網內通過IP地址獲取主機的MAC地址;

3.MAC地址48位主機的物理地址,區域網內唯一;

4.ARP協議類似DNS服務,但不需要配置服務。

5.ARP協議是三層協議。

--------------------------------------------------------------------------------------------------------

十、ARP緩存表:

1)每台安裝有TCP/IP協議的電腦都會有一個ARP緩存表(windows 命令提示符里輸入arp -a即可)。

  表裡的ip地址與MAC地址是一一對應的。

arp常用命令:

    arp -a :查所有記錄

    arp -d :清除

    arp -s :綁定IP和MAC

2)ARP緩存表是把雙刃劍:

1.主機有了arp緩存表,可以加快ARP的解析速度,減少區域網內廣播風暴。

2.正是有了arp緩存表,給惡意黑客帶來了攻擊伺服器主機的風險,這個就是arp欺騙攻擊。

3.切換路由器,負載均衡器等設備時,可能會導致短時網路中斷。

3)為啥用ARP協議?

  OSI模型把網路工作分為七層,彼此不直接通信打交道,只通過介面。IP地址工作在第三層,

MAC地址工作在第二層。當協議在發送數據包時,需要先封裝第三層IP地址,第二層MAC地址的報頭,

但是協議只知道目的節點的ip地址,不知道目的節點的MAC地址,又不能跨第二、三層,所以得用ARP協議服務,

來幫助獲取目的節點的MAC地址。

4)ARP在生產環境產生的問題及解決辦法:

1.ARP病毒,ARP欺騙

2.高可用伺服器對之間切換時要考慮ARP緩存的問題。

3.路由器等設備無縫遷移時需要考慮ARP緩存的問題,例如:更換辦公室的路由器。

5)ARP欺騙原理:

  ARP攻擊就是通過偽造IP地址和MAC地址對實現ARP欺騙的,如果一台主機中了ARP病毒,

那麼它就能在網路中產生大量的ARP通信量,很快的進行廣播以至於使網路阻塞,攻擊者

只要持續不斷的發出偽造的ARP響應就能更改區域網中目標主機ARP緩存中的IP-MAC條目,

造成網路中斷或者中間人攻擊。

熱點內容
讀書軟體視頻分鏡頭廣告腳本 發布:2025-07-21 23:32:00 瀏覽:60
演算法ecd 發布:2025-07-21 23:29:05 瀏覽:704
安卓會玩叫什麼 發布:2025-07-21 23:23:00 瀏覽:354
備用域伺服器搭建 發布:2025-07-21 23:22:59 瀏覽:599
編譯yacc教程 發布:2025-07-21 23:21:51 瀏覽:353
linux伺服器ip查詢工具 發布:2025-07-21 23:15:32 瀏覽:360
scratch編程是什麼 發布:2025-07-21 23:10:26 瀏覽:949
查看linuxjdk 發布:2025-07-21 23:09:45 瀏覽:41
用安卓編譯一個簡單的計算器 發布:2025-07-21 23:09:41 瀏覽:563
lnmp一鍵腳本 發布:2025-07-21 22:54:37 瀏覽:216