banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix [Help] kswapd sử dụng 100% CPU (Centos 5.2)  XML
  [Question]   Re: [Help] kswapd sử dụng 100% CPU (Centos 5.2) 14/05/2009 10:40:59 (+0700) | #31 | 180511
safari
Member

[Minus]    0    [Plus]
Joined: 31/01/2008 01:19:23
Messages: 33
Location: somewhere
Offline
[Profile] [PM]
Bạn nên cài lại OS dùng CentOS x86_64 (64bit) đi.
Mình thấy các tiến trình httpd trên máy bạn xài khoảng 18m - 22m là khá cao, bạn nên xem lại Apache + PHP + ứng dụng đang chạy, compile lại Apache & PHP từ source bỏ hết các module không cần thiết đi. Hoặc nếu có thể thì chuyển sang dùng lighttpd or nginx.
[Up] [Print Copy]
  [Question]   Re: [Help] kswapd sử dụng 100% CPU (Centos 5.2) 14/05/2009 21:59:31 (+0700) | #32 | 180546
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Cho đến lúc này, ta có thể thấy rõ, azteam dùng Linux server chạy Centos 5.2 với kernel 2.6.18 PAE và 8Gb RAM. Kernel này là 32-bit kernel nên phải dùng đến PAE để có thể sử dụng tối đa 8Gb RAM.

Tình trạng "treo" mà azteam nêu ra cho đến nay vẫn chưa có nguyên nhân cụ thể nhưng vấn đề xoay quanh "memory management" của server này. Dùng PAE để vượt quá giới hạn 4Gb có hạn chế nhất định. Lý do, memory locations bên ngoài giới hạn 4Gb được access xuyên qua các "indirect pointers". Cơ chế này nuốt khá nhiều RAM và CPU. Ngay cả mapping thuần túy trong 32-bit space, kernel vẫn phải setup "page tables" bằng cách map "virtual addresses" đến "physical addresses". Một process ở "user-space" khi được "forked", nó không access physical memory address trực tiếp mà nó chỉ trỏ đến virtual memory address. MMU mới chuyển hóa từ "virtual address" này đến "physical address" thật sự.

Đối với việc dùng giải pháp PAE để "mở rộng" physical mem bên ngoài 4Gb, MMU vẫn phải map memory y hệt như trên nhưng virtual address space chỉ có 32-bit wide nên một process không thể vượt quá giới hạn chiếm dụng 4Gb và nếu có quá nhiều processes đang hoạt động trên máy với tổng số > 4Gb thì quy trình mapping càng nặng nhọc hơn nữa.

Xét ở góc độ ứng dụng "hugepage" ở đây chỉ address được vấn nạn thuộc giới hạn làm sao có một mảng "unfragmented memory" đủ lớn đến applications làm việc (để giảm thiểu swap in / swap out) nhưng không address được vấn nạn làm sao có thể access physical memory bên ngoài 4Gb giới hạn một cách hiệu suất (và không bị side effect).

Hoàn toàn đồng ý với giải pháp mà safari đưa ra: cài bản 64-bit cho server này. Lúc ấy, vấn đề chỉ còn nằm ở giới hạn chuẩn bị các "huge pages" không bị fragmented để các ứng dụng có thể dùng. Với khía cạnh "memory partition" này, nên dùng kernel ít nhất là 2.6.23 bởi vì nó đã có thêm phần ZONE_MOVABLE, nó giúp cho việc quản lý (thêm bớt dung lượng) cho các "pages" dễ dàng và linh động hơn. Nếu không, page size sẽ bị fixed ngay lúc server khởi động (đây là lúc có cơ hội cao nhất để tìm một mảnh memory đủ lớn mà không bị fragmented).

Thân mến.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: [Help] kswapd sử dụng 100% CPU (Centos 5.2) 15/05/2009 04:58:43 (+0700) | #33 | 180603
[Avatar]
azteam
Member

[Minus]    0    [Plus]
Joined: 17/03/2007 21:12:46
Messages: 177
Location: /dev/null
Offline
[Profile] [PM]
@mrro: Đúng là PAGE_SIZE của server này 4 KB.

@ safari & anh conmale: Giải pháp đưa ra có thể giải quyết được vấn đề hiện tại của server nhưng nó không khả thi lắm với em vì trên server này chạy hơn 100 websites. Việc setup lại OS sẽ làm thời gian downtime khá lớn.

Giải pháp hiện tại chắc phải chuyển bớt websites đi chỗ khác. Theo dõi thêm tình trạnh server và tìm hiểu thêm cách khắc phục mới.

Thanks mọi người.
[Up] [Print Copy]
  [Question]   Re: [Help] kswapd sử dụng 100% CPU (Centos 5.2) 15/05/2009 06:47:25 (+0700) | #34 | 180618
myquartz
Member

[Minus]    0    [Plus]
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
[Profile] [PM]

azteam wrote:
@mrro: Đúng là PAGE_SIZE của server này 4 KB.

@ safari & anh conmale: Giải pháp đưa ra có thể giải quyết được vấn đề hiện tại của server nhưng nó không khả thi lắm với em vì trên server này chạy hơn 100 websites. Việc setup lại OS sẽ làm thời gian downtime khá lớn.

Giải pháp hiện tại chắc phải chuyển bớt websites đi chỗ khác. Theo dõi thêm tình trạnh server và tìm hiểu thêm cách khắc phục mới.

Thanks mọi người. 


Bạn thử thêm giải pháp giảm kích thước swap partition xuống 2GB nữa đi. Việc này có thể thực hiện online, không phải down server. (tắt swap bằng swapoff -a, dùng parted hay fdisk hoặc lvm giảm swap partion xuống hay xoá đi tạo lại nó, sửa file /etc/fstab cho đúng part mới, bật trở lại bằng swapon -a).
Việc hosting web với CentOS 5.2 - kernel 32bit-PAE, web server 8GB RAM tôi quá quen thuộc rồi. Lũ server của tôi chưa gặp vấn đề nào cả với cái kswapd, nhưng setup của tôi khác của bạn cái kích thước swap partition.
Hi vọng giúp được bạn.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|