Linux 狀態命令之 sar

簡介

sar(System Activity Reporter 系統活動情況報告)是目前 Linux 上最為全面的系統性能分析工具之一,可以從多方面對系統的活動進行報告,包括:文件的讀寫情況、系統調用的使用情況、磁盤 I/O、CPU 效率、內存使用狀況、進程活動及 IPC 有關的活動等。

我們可以使用sar命令來獲得整個系統性能的報告。這有助于我們定位系統性能的瓶頸,并且有助于我們找出這些煩人的性能問題的解決方法。

Linux 內核維護著一些內部計數器,這些計數器包含了所有的請求及其完成時間和 I/O 塊數等信息,sar命令從所有的這些信息中計算出請求的利用率和比例,以便找出瓶頸所在。

性能問題排查技巧:

  • 懷疑 CPU 存在瓶頸,可用sar -usar -q等來查看。
  • 懷疑 內存存在瓶頸,可用sar -Bsar -rsar -W等來查看。
  • 懷疑 I/O 存在瓶頸,可用sar -bsar -usar -d等來查看。

安裝

sar命令來自于sysstat工具包,如果提示sar命令不存在,需先安裝sysstat

yum install systat

語法

語法:sar [選項] [參數]選項:-A:顯示所有的報告信息;-b:顯示I/O速率;-B:顯示換頁狀態;-c:顯示進程創建活動;-d:顯示每個塊設備的狀態;-e:設置顯示報告的結束時間;-f:從指定文件提取報告;-i:設狀態信息刷新的間隔時間;-n:網絡統計信息;-R:顯示內存狀態;-P:報告每個CPU的狀態;-u:顯示CPU整體的利用率;-v:顯示索引節點,文件和其他內核表的狀態;-w:顯示交換分區狀態;-x:顯示給定進程的狀態。參數:間隔時間:每次報告的間隔時間(秒);次數:顯示報告的次數。

示例

常用用法

  • sar [command] 2 5:每2秒輸出一次 sar [command],總計輸入五次,省略5表示持續輸出。

  • sar -n DEV 1 -e 22:26:00 >/tmp/123 &:每秒采樣一次網絡情況直到22:26并把采樣數據輸出到/tmp/123。

  • sar -f /var/log/sa/sa27 -s 23:00:00 -e 00:00:00 -r:本月27日23點至0點的內存數據,需要通過crontab設置定時任務。

CPU 狀態統計

-p

-P {CPU_LIST | ALL}:用于分析多核CPU的性能狀況,可以使用CPU_LIST分析指定核心的CPU狀態,可以使用離散值和連續值,也可以使用ALL分析所有CPU核心狀態。

[fenglepeng@centos]# sar -P 0 1 3  # 表示每秒采集0號CPU狀態,總共采樣3次。
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:15:32 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:15:33 AM       0      2.97      0.00      0.99      0.00      0.00     96.04
11:15:34 AM       0      1.02      0.00      1.02      0.00      0.00     97.96
11:15:35 AM       0      2.00      0.00      2.00      0.00      0.00     96.00
Average:          0      2.01      0.00      1.34      0.00      0.00     96.66
  • CPU:0 表示采集的是 0 號CPU,all 表示統計信息為所有 CPU 的平均值。
  • %user:指運行非特權用戶進程時間百分率。
  • %nice:是指運行特權用戶進程時間百分率。
  • %system:是指運行內核進程時間,這個時間包括了CPU處理軟硬中斷的時間。
  • %iowait:是指等待I/O完成的時間。
  • %steal:是指運行虛擬機的時間百分率,steal意味著被偷走的時間。
  • %idle:是指cpu空閑時間百分率,我的機器上并未運行任何程序,所以此列一直為100%。

注意說明:

  1. 若 %iowait 的值過高,表示硬盤存在I/O瓶頸。
  2. 若 %idle 的值高但系統響應慢時,有可能是 CPU 等待分配內存,此時應加大內存容量。
  3. 若 %idle 的值持續低于1,則系統的 CPU 處理能力相對較低,表明系統中最需要解決的資源是 CPU。

-u

-u[ALL]:報告cpu使用情況,與-p不同的是,-u只能報告所有cpu。ALL選項輸出詳細信息。

[fenglepeng@centos]# sar -u 1 3
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:18:56 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:18:57 AM     all      0.75      0.00      0.50      0.00      0.00     98.74
11:18:58 AM     all      0.75      0.00      1.00      0.00      0.00     98.25
11:18:59 AM     all      1.00      0.00      1.00      0.00      0.00     97.99
Average:        all      0.84      0.00      0.84      0.00      0.00     98.33
  • %usr:和-P的%user的區別在于%usr不包括虛擬機運行的時間。
  • %sys:和-P的%system的區別在于%sys不包括各種軟硬中斷時間。
  • %irq:是指處理硬中斷的cpu時間百分率。
  • %soft:是指處理軟中斷的cpu時間百分率。
  • %guest%gnice:分別指運行普通虛擬程序和特權虛擬程序的時間百分率

-q

-q:用于報告隊列長度以及平均負載。

[fenglepeng@centos]# sar -q 1 3
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:21:52 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
11:21:53 AM         1       274      0.01      0.05      0.05         0
11:21:54 AM         2       274      0.01      0.05      0.05         0
11:21:55 AM         1       274      0.01      0.05      0.05         0
Average:            1       274      0.01      0.05      0.05         0
  • runq-sz:等待cpu調度的任務數。
  • plist-sz:處于任務列表的任務總數。
  • ldavg-1ldavg-5ldavg-15:分別指1分鐘,5分鐘,15分鐘內cpu的負載。
  • blocked:表示等待I/O完成而被阻塞的任務總數,不為0則需要留意I/O是否存在性能瓶頸。

-w

-w:報告進程上下文切換的次數。

[fenglepeng@centos]# sar -w 1 3
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:22:40 AM    proc/s   cswch/s
11:22:41 AM      1.00    470.00
11:22:42 AM      0.00    554.00
11:22:43 AM      1.00    576.00
Average:         0.67    533.33
  • proc/s:指每秒創建的進程數。
  • cswch/s:指每秒自愿上下文切換的次數,是指進程無法獲取所需資源,導致的上下文切換。比如說, I/O、內存等系統資源不足時,就會發生自愿上下文切換。
    還有一個非自愿的上下文切換次數nvcswch/s表示則是指進程由于時間片已到等原因,被系統強制調度,進而發生的上下文切換。非自愿次數明顯升高意味著cpu產生了性能瓶頸。非自愿上下文切換可以使用pidstat加上-w選項來輸出。

內存狀態統計

-r

-r [-h]:輸出內存使用率統計信息,-h輸出更加利于閱讀的結果。

[fenglepeng@centos]# sar -r 1 3
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:25:33 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
11:25:34 AM    267436   7722624     96.65         8   5884448   2678356     26.55   4260324   2498512        52
11:25:35 AM    267452   7722608     96.65         8   5884448   2678356     26.55   4260324   2498512        52
11:25:36 AM    267452   7722608     96.65         8   5884448   2678356     26.55   4260328   2498512        52
Average:       267447   7722613     96.65         8   5884448   2678356     26.55   4260325   2498512        52
  • kbmemfree:剩余內存總量。
  • kbavail:可用內存總量,可用內存≈剩余內存+buffer+cache。
  • kbmemused:使用的內存總量,使用量=總內存-剩余內存-buffer-cache-slab。
  • kbbuffers:被內核用來作為buffer的內存量。
  • kbcached:被內核用來作為cache的內存量。
  • kbcommit:當前工作負載下,可以保證不出現內存不足的內存量。
  • %commit:指kbcommit占內存/swap的百分率。
  • kbactive:當前活躍內存量。除非萬不得已,這部分內存才會被回收。
  • kbinact:當前非活躍內存總量,當內存不足時,這部分內存最容易被內核收回。
  • kbdirty:臟頁大小,臟頁指的是暫存于內存還沒來得及持久化到硬盤的數據。可以使用sync刷入硬盤。

-B

-B:報告系統中分頁統計信息。

[fenglepeng@centos]#sar -B 1 3
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:26:53 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
11:26:54 AM      0.00      0.00     37.00      0.00    108.00      0.00      0.00      0.00      0.00
11:26:55 AM      0.00      9.00     33.00      0.00     50.00      0.00      0.00      0.00      0.00
11:26:56 AM      0.00      9.00     23.00      0.00     63.00      0.00      0.00      0.00      0.00
Average:         0.00      6.00     31.00      0.00     73.67      0.00      0.00      0.00      0.00
  • pgpgin/s:表示每秒從磁盤中換入內存的字節數。
  • pgpgout/s:表示每秒從內存換出到磁盤的字節數。
  • fault/s:表示系統每秒產生的缺頁異常(報告主缺頁和次缺頁),這不是產生I/O的缺頁中斷的次數,因為部分缺頁中斷不需要I/O就能處理。
  • majflt/s:表示每秒產生的主缺頁異常。
  • pgfree/s:每秒被系統放到空閑列表的分頁數量。
  • pgscank/s:每秒被內核線程[kswapd]掃描的分頁數量。
  • pgscand/s:每秒被直接掃描的數量。
  • pgsteal/s:系統為滿足其內存需求聲明每秒從cache(分頁緩存和swap緩存)回收的頁的數量。
  • %vmeff:這個指標由pgsteal/(pgscand+pgscank)得到,這是一個衡量頁面回收效率的指標。

-S

-s [h]:輸出swap空間的使用率統計信息。

[fenglepeng@centos]# sar -S 1 3
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:28:03 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
11:28:04 AM   2097148         0      0.00         0      0.00
11:28:05 AM   2097148         0      0.00         0      0.00
11:28:06 AM   2097148         0      0.00         0      0.00
Average:      2097148         0      0.00         0      0.00
  • kbswpfree:未使用的swap量。
  • kbswpused:使用中的swap內存量。
  • %swpused:使用中的swap內存量占總swap的百分率。
  • kbswpcad:被swap緩存的內存量,這部分內存曾經被換出,現在又被換入但仍然位于swap空間。
  • %swpcad:kbswpcad占kbswpused的百分率。

-W

-W 統計輸出swap換入換出信息。

[fenglepeng@centos]#sar -W 1 3
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:28:52 AM  pswpin/s pswpout/s
11:28:53 AM      0.00      0.00
11:28:54 AM      0.00      0.00
11:28:55 AM      0.00      0.00
Average:         0.00      0.00
  • pswpin/s:每秒換入swap的內存量。
  • pswpout/s:每秒換出swap的內存量。

若這兩項數值很高,表示內存短缺導致需要頻繁換入換出。

I/O篇狀態統計

-b

-b:報告I/O及傳輸速率統計信息。

[fenglepeng@centos]#sar -b 1 3
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:29:34 AM       tps      rtps      wtps   bread/s   bwrtn/s
11:29:35 AM      0.00      0.00      0.00      0.00      0.00
11:29:36 AM      0.00      0.00      0.00      0.00      0.00
11:29:37 AM      5.00      0.00      5.00      0.00     87.00
Average:         1.67      0.00      1.67      0.00     29.00
  • tps:每秒鐘加到物理設備上的傳輸總量。一次傳輸就是加到物理設備的一次I/O請求,由于多次邏輯請求可以合并為單次的I/O請求,所以一次傳輸的大小是不確定的。
  • rtps:每秒加到物理設備的讀請求總數。
  • wtps:每秒加到物理設備上的寫請求總數。
  • dtps:每秒丟棄的請求總數。
  • bread/s:以塊為單位每秒鐘從磁盤讀取的數據總量,塊的大小等同于一個扇區的大小,512字節。
  • bwrtn/s:以塊為單位每秒鐘寫入磁盤的數據總量。
  • bdscd/s以塊為單位丟棄的數據總量。

-d

-d -h[--dev=dev_list]:報告塊設備的活動情況。

[fenglepeng@centos]#sar -d 1 1
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:30:26 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11:30:27 AM    dev2-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:27 AM   dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:27 AM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:27 AM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:27 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev2-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  • tps:和-btps含義一樣,都表示每秒鐘加到物理設備上的傳輸總量。
  • rkB/s:每秒從設備讀到的字節數。
  • wkB/s:每秒寫入設備的字節數。
  • areq-sz:加到設備上I/O請求平均大小(以字節為大小)。
  • aqu-sz:加到設備上請求長度的平均值。
  • await:加到設備上I/O請求的平均響應時間,這個時間包括了請求處于等待隊列中的時間。
  • %util:加到設備上I/O請求所用的時間百分比,對于串行設備,接近100%意味著設備出現了性能瓶頸,但是對于并行設備比如RAID或者SSD,這個值實際上并不能反映出設備的極限。

-v

-v:報告inode,文件以及其他內核表狀態。

Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:31:03 AM dentunusd   file-nr  inode-nr    pty-nr
11:31:04 AM    259766      2112    252444         1
Average:       259766      2112    252444         1
  • dentunusd:目錄緩存中未使用的緩存項數。
  • file-nr:系統使用的文件句柄數,查看目前使用的文件句柄數lsof|awk '{print $2}'|wc -l
  • inode-nr:系統使用的inode處理程序數。
  • pty-nr:打開的偽終端數,即幾個人登陸了系統。

網絡篇狀態統計

-n

sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL },sar 提供六種不同的語法選項來顯示網絡信息。

  • DEV顯示網絡接口信息。
  • EDEV顯示關于網絡錯誤的統計數據。
  • NFS統計活動的NFS客戶端的信息。
  • NFSD統計NFS服務器的信息。
  • SOCK顯示套接字信息。
  • ALL顯示所有5個開關。它們可以單獨或者一起使用。

如果你使用DEV關鍵字,那么sar將匯報和網絡設備相關的信息,如lo,ens160等,例如:

[fenglepeng@centos]# sar -n DEV 1 1
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/21/2022 	_x86_64_	(4 CPU)11:31:48 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11:31:49 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:31:49 AM    ens160     13.00      2.00      1.24      0.35      0.00      0.00      0.00Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       ens160     13.00      2.00      1.24      0.35      0.00      0.00      0.00
  • IFACE:網絡接口。
  • rxpck/s:每秒接收的報文數。
  • txpck/s:每秒發送的報文數。
  • rxkB/s:每秒接收的字節數,rxkB/s * 1024 / rxpck/s < 60B,意味著收到的是小包。
  • txkB/s:每秒發送的字節數。
  • rxcmp/s:每秒接收的壓縮數據包數。
  • txcmp/s:每秒發送的壓縮數據包數。
  • rxmcst/s:每秒接收的多播數據包數。
  • %ifutil:網絡接口的利用率百分比,對于半雙工接口,利用率使用rxkB/stxkB/s之和作為接口速度的百分比計算。對于全雙工,這是rxkB/stxkB/s中的較大值。。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453691.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453691.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453691.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決eclipse + pydev 編譯過程中有中文的問題

最近在學習python編程&#xff0c;開發環境設置好了&#xff0c;是用eclipse pydev 來做開發的環境&#xff0c;配置好了之后&#xff0c;需要解決的一個關鍵問題就是老問題了&#xff1a;如何解決代碼中的中文問題。。。 其實但我們在配置編程環境的時候&#xff0c;就需要設…

程序員的思考--終于確定了自己的技術發展方向

經過了將近5年的工作沉淀以后&#xff0c;終于確定了自己的職業發展方向。從現在開始終于可以有的放矢了&#xff0c;不再迷茫了。回想以往&#xff0c;找到這個方向&#xff0c;確實不是一件容易的事情&#xff0c;一路也是迷茫的走過來&#xff0c;隨著知識和工作經驗的積累&…

mysql正在運行安全文件怎么辦_MySQL服務器運行的安全文件化選項,所以它不能執行該語句什么情? 愛問知識人...

MySQL的事務支持不是綁定在MySQL服務器本身&#xff0c;而是與存儲引擎相關1。MyISAM&#xff1a;不支持事務&#xff0c;用于只讀程序提高性能 2。InnoDB&#xff1a;支持ACID事務、行級鎖、并發 3。Berkeley DB&#xff1a;支持事務一個事務是一個連續的一組數據庫操作&#…

C++項目參考解答:累加求圓周率

【項目-累加求圓周率】 用例如以下公式求π的近似值&#xff08;計算直到最后一項的絕對值小于10?5&#xff09; π41?1315?17...【參考解答】 #include <iostream> using namespace std; int main( ) {int n,sign;double total,f;n1;total0;sign1;f1; //用f代表待累加…

[ASP.NET AJAX]類似.NET框架的JavaScript擴展

最近AJAX風靡全世界&#xff0c;在CommunityServer中他運用了自己定義的封裝了js&#xff0c;并且可以跨瀏覽器&#xff0c;在較小的應用程序中&#xff0c;他比較適合&#xff0c;而且使用也比較簡單。但是對微軟的Microsoft AJAX還是一點不了解的我&#xff0c;從今天開始也要…

mysql 連接 指定字符集_關于Mysql連接池配置指定字符集的問題

問題是這樣的&#xff0c;我在寫一個網站&#xff0c;打算使用連接池。我使用J2EE開發&#xff0c;開始使用的是直連的方式&#xff0c;附上代碼public class ConnDb {private String getDriver "com.mysql.jdbc.Driver";private String getUrl "jdbc:mysql:/…

【原】iOS:手把手教你發布代碼到CocoaPods(Trunk方式)

概述 關于CocoaPods的介紹不在本文的主題范圍內&#xff0c;如果你是iOS開發者卻不知道CocoaPods&#xff0c;那可能要面壁30秒了。直奔主題&#xff0c;這篇文章主要介紹如果把你的代碼發布到CocoaPods代碼庫中&#xff0c;讓別人可以使用“pod search yourOpenProject”命令查…

kafka tool 查看指定group下topic的堆積數量_ELK架構下利用Kafka Group實現Logstash的高可用...

系統運維的過程中&#xff0c;每一個細節都值得我們關注下圖為我們的基本日志處理架構所有日志由Rsyslog或者Filebeat收集&#xff0c;然后傳輸給Kafka&#xff0c;Logstash作為Consumer消費Kafka里邊的數據&#xff0c;分別寫入Elasticsearch和Hadoop&#xff0c;最后使用Kiba…

jquery flot pie畫餅圖

具體效果如下&#xff1a; 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> 5 <title>Insert title here</title> 6 <script language"javas…

研發管理:產品研發團隊的早會

百度百科定義:研發管理就是在研發體系結構設計和各種管理理論基礎之上&#xff0c;借助信息平臺對研發過程中進行的團隊建設、流程設計、績效管理、風險管理、成本管理、項目管理和知識管理等的一系列協調活動。[詳細] 產品研發團隊在履行各種產品研發過程中&#xff0c;從大的…

mysql fetch rows_差異mysql_fetch_array()和mysql_fetch_rows()函數_mysql

區別mysql_fetch_array()和mysql_fetch_rows()函數form:http://www.uphtm.com/php/254.html如果我們不仔細看會發現象mysql_fetch_array()和mysql_fetch_rows()函數沒有什么區別&#xff0c;但是細細的看你會發現它們區別還是蠻大了&#xff0c;如果各位對于此函數的區別不了解…

Linux 狀態命令之網絡狀態 iftop - 查看實時帶寬流量

簡介 Linux 中查看網卡流量工具有 iptraf、iftop 以及 nethogs 等&#xff0c;iftop 可以用來監控網卡的實時流量(可以指定網段)、反向解析IP、顯示端口信息等。 安裝 CentOS yum 方式 # 安裝依賴 yum install flex byacc libpcap ncurses ncurses-devel libpcap-develyum …

Spring Boot 使用常見問題

Json格式化時間&#xff0c;時區設置 spring.jackson.time-zoneGMT8 spring.jackson.date-formatyyyy-MM-dd HH:mm:ss json數據無法序列化到RequestBody對象中 SpringMVC restful 注解之RequestBody進行json與object轉換 轉載于:https://www.cnblogs.com/tonyq/p/7890497.html

Angular15 利用ng2-file-upload實現文件上傳

待更新 轉載于:https://www.cnblogs.com/NeverCtrl-C/p/8279246.html

解讀設計模式----簡單工廠模式(SimpleFactory Pattern),你要什么我就給你什么

本文首發于博客園,地址:http://www.cnblogs.com/beniao/archive/2008/08/09/1263318.html 一、模式概述 從設計模式的類型上來說&#xff0c;簡單工廠模式是屬于創建型模式&#xff0c;又叫做靜態工廠方法&#xff08;Static Factory Method&#xff09;模式&#xff0c;但不屬…

Memcached常用操作

memcached是一個高性能的、分布式內存對象緩存系統&#xff0c;應用廣泛。 通過緩存數據庫查詢結果&#xff0c;減少數據庫訪問次數&#xff0c;以提高動態Web應用的速度、 提高可擴展性。 它可以應對任意多個連接&#xff0c;使用非阻塞的網絡IO。由于它的工作機制是在內存中開…

android自定義金額輸入鍵盤_Android 自定義控件 - 仿支付寶數字鍵盤

原標題&#xff1a;Android 自定義控件 - 仿支付寶數字鍵盤簡介在一些帶有支付功能的 App 中&#xff0c;輸入的密碼一般只能是純數字&#xff0c;雖然我們可以指定 EditText 輸入框只能輸入數字&#xff0c;但是為了提供用戶的使用體驗&#xff0c;我們往往更傾向于使用自定義…

博客目錄(python相關)

python 相關 文件格式相關系列 Python 第三方模塊之 beautifulsoup&#xff08;bs4&#xff09;- 解析 HTML Python 第三方模塊之 ElementTree&#xff08;ET&#xff09;- 解析XML文件 Python 第三方模塊之 lxml - 解析 HTML 和 XML 文件 python 第三方模塊 yaml - 處理 …

項目主體思索

1&#xff1a;分布式定義; 2&#xff1a;SSO集成方式 3&#xff1a;menu動態菜單的添加 4&#xff1a;tag頁面展示; 5&#xff1a;tiles的jsp復用&#xff1b; 暫時就想到這些了&#xff0c;以后繼續補充。轉載于:https://www.cnblogs.com/siyan/p/8286738.html

centos mysql pid_centos7 mysql The server quit without updating PID file(錯誤解決)

1 問題[rootlocalhost mysql]# /etc/rc.d/init.d/mysql statusMySQL is not running, but lock file (/var/lock/subsys/mysql[FAILED][rootlocalhost mysql]# /etc/rc.d/init.d/mysql startStarting MySQL...The server quit without updating PID file (/usr/local/mysql/dat…