成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

進程kswapd0與events/0消耗大量CPU的問題

運維 系統運維
重啟服務器后,使用 top 命令看看是哪些進程消耗那么大的 CPU 使用。當 mysql 的 CPU 消耗降下來之后,出現了兩個奇怪的進程:kswapd0 和 events/0。

今天下午網站宕了兩次機,發工單給阿里云,發現原因是服務器的CPU 100%了。

重啟服務器后,使用 top 命令看看是哪些進程消耗那么大的 CPU 使用。盯了有好十幾分鐘,主要消耗 CPU 的進程有兩個,一個是 mysql,另一個是 apache。下面的圖可以看到,mysql 占用了很大部分的 CPU 使用。apache 單個進程雖然占得不多,但有不少個 apache 進程同時存在,也消耗了不少 CPU 的使用。

當然,這些不足以讓服務器的 CPU 直接跑滿掛掉,后來發現了兩個大家伙:

當 mysql 的 CPU 消耗降下來之后,出現了兩個奇怪的進程:kswapd0 和 events/0。

1. kswapd0

 Linux uses kswapd for virtual memory management such that pages that have been recently accessed are kept in memory and less active pages are paged out to disk.

 (what is a page?)…Linux uses manages memory in units called pages.

 So,the kswapd process regularly decreases the ages of unreferenced pages…and at the end they are paged out(moved out) to disk

kswapd0進程的作用:它是虛擬內存管理中,負責換頁的,操作系統每過一定時間就會喚醒kswapd ,看看內存是否緊張,如果不緊張,則睡眠,在 kswapd 中,有2 個閥值,pages_hige 和 pages_low,當空閑內存頁的數量低于 pages_low 的時候,kswapd進程就會掃描內存并且每次釋放出32 個free pages,直到 free page 的數量到達pages_high。

查看內存使用率,發現內存確實不夠用,有時候已經使用到了swap。

2. events/0

另一個進程 events/0 是工作者線程,主要是用來執行delay work的。先簡單介紹一下。

我們都知道中斷的底半部機制有三種:軟中斷、tasklet和工作隊列。其中軟中斷很少使用,內核中只有網絡在使用,它的延時是最小的。

tasklet是軟中斷的一個應用,所有線程注冊的tasklet都會順序被執行。因此tasklet的執行環境是軟中斷上下文,所以不能阻塞或者睡眠。一般情況下,tasklet的延遲也很小,可以滿足大部分需求。

要是底半部中可能睡眠,那么只好使用工作隊列了。工作隊列其實是把要做的底半部的函數交給內核的專門線程去調用。這樣工作隊列就運行于線程環境了,不怕睡眠。當然,睡眠會影響注冊到同一線程的其它底半部的執行,但不會引起大的問題。每個CPU都有一個線程(events/n,n是編號)負責執行工作隊列,第一個CPU的線程是events/0,如果是雙核的,還會有一個events/1線程。程序使用了工作隊列,所以每次執行都會多出一個events/0(第一個CPU上工作線程)。

內核的軟中斷輔助處理線程ksoftirqd/n(n是CPU編號),它們負責出發軟中斷中觸發的軟中斷。它們將重新觸發軟中斷放在系統空閑時調用,而不是馬上。這樣用戶空間不至于饑餓,重新觸發的軟中斷也得以盡快執行。(《Linux內核設計與實現》85頁)


宕機原因顯而易見了,physical mem 不足,引起 swap 頻繁。其實這也是 VPS 使用上的一個常見的問題了,通常是由 Apache 占用內存過多引起的。kswapd0 是系統的虛擬內存管理程序,如果物理內存不夠用,系統就會喚醒 kswapd0 進程,由 kswapd0 分配磁盤交換空間作緩存,因而占用大量的 CPU 資源。重啟Apache,釋放內存,問題就會消失。但這不是長久之計,最好的方法還是花點錢升級下內存。我也知道隨著訪問量的不斷上漲,肯定要升級下內存,但是沒想到這個問題這么快就來了……

吐槽一下,雖然網站現在的規模也不算很大,但是慢慢也開始吃服務器的硬件了。CPU和內存接下來也需要升級,一個人維護這么一個站點還真的各種操心。

 

責任編輯:奔跑的冰淇淋 來源: Veda原型
相關推薦

2023-12-12 17:46:33

系統kswapd0內核

2020-08-03 14:17:34

CPU內存系統運維

2011-03-23 14:42:47

CPU過度消耗

2022-05-27 11:59:22

Linux內存CPU

2017-01-12 15:17:27

線程CPU定位

2022-07-22 12:02:20

勒索軟件H0lyGh0st

2023-05-10 16:15:58

javaScript算法開發

2021-07-21 08:45:16

do{...} whi代碼語言

2021-04-13 07:58:38

背包代碼模式

2023-02-26 00:42:08

表問題內存表PFS

2019-06-03 10:30:42

MySQLCPU數據庫

2010-09-06 16:00:41

CSSborder

2010-09-08 14:46:36

CSSborder

2022-09-22 07:31:14

Java變量計算

2022-01-17 13:31:53

value背包解法

2018-11-01 10:59:52

Linux內存進程

2021-11-29 20:44:31

Linux內存進程

2025-01-15 09:13:53

2020-03-19 15:10:02

MySQLCPU數據庫

2011-05-06 09:56:04

硬盤0道
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九热这里只有精品在线观看 | 2018中文字幕第一页 | 欧美一区二区三区久久精品 | 亚洲激情一区二区 | 精品视频在线观看 | 国产精品毛片一区二区在线看 | 亚洲网址 | 午夜精品久久久久久不卡欧美一级 | 自拍偷拍精品 | 99国产精品99久久久久久 | 免费的av网站 | 国产精品亚洲视频 | 精品欧美一区二区三区免费观看 | 久久国产精品精品 | 国产99视频精品免费播放照片 | 免费高潮视频95在线观看网站 | 久久精品免费一区二区 | 九九热最新地址 | 久久久精品久久久 | 7777精品伊人久久精品影视 | 超碰人人爱 | 亚洲精品高清视频在线观看 | 亚洲五码久久 | 日韩成人精品 | 一二三区av| 黄色在线免费观看 | 久久另类视频 | 国产成人艳妇aa视频在线 | 久久国产婷婷国产香蕉 | 国产亚洲网站 | 久久大| 欧美99 | 日韩欧美一区二区三区免费观看 | 久久a久久 | 国产国产精品久久久久 | 91视频播放 | 久久这里有精品 | 亚洲免费成人 | 欧美在线观看黄色 | 天天干.com| 一区在线观看视频 |