Làm cách nào tôi có thể điều chỉnh máy tính để bàn Linux của mình để phản ứng nhanh hơn?


30

Tôi có kinh nghiệm rằng Linux hoạt động tốt cho đến khi bộ nhớ vật lý cạn kiệt. Ngay khi không gian hoán đổi được sử dụng, hiệu suất bị suy giảm nghiêm trọng và GUI trở nên không phản hồi.

Vấn đề này không giới hạn ở một bản phân phối hoặc máy tính để bàn cụ thể, vì tôi đã thử một vài (và vấn đề vẫn còn).

Những gì tôi có thể làm gì về điều này?


Đây là một vấn đề đã biết với kernel linux ... Tôi tin rằng tôi đã đọc rằng gần đây một bản vá đã được cam kết để sửa nó. Tìm kiếm một tài liệu tham khảo về điều đó ...
xenoterracide

1
Bài viết nàybài viết này về phoronix là những gì tôi đã nghĩ đến ... tôi nghĩ.
xenoterracide

về cơ bản, những bài báo nói về các bản vá đang đi vào 2.6.36, vì vậy khi xuất hiện, hãy lấy nó (trừ khi bạn dám chạy RC hoặc từ chủ)
xenoterracide

Bạn có bao nhiêu RAM? Những chương trình nào bạn chạy mà rất đói? Máy ảo? JVM?
tshepang

Tôi có 8GB RAM và thủ phạm là các ứng dụng thông thường (trình duyệt web như Firefox và Chrome, ứng dụng email khách như thunderbird và máy khách IRC.
txwikinger

Câu trả lời:


15

Tôi đề nghị đọc SwapFAQ , đặc biệt là tham số hoán đổi .


3
+1, hoán đổi là một hỗ trợ ban nhạc mà chúng tôi hy vọng không sử dụng ...
Avery Payne

1
Tôi đã thử nhiều cách cài đặt khác nhau cho swappiness nhưng không thành công. Tôi cũng đã nhận thấy rằng các ý kiến ​​về giá trị của sự thay đổi hoàn toàn không thống nhất. Đối với máy tính để bàn, một số đề xuất 10, số khác là 100, nghĩa là họ đề nghị họ đề xuất tổng hiệu ứng ngược lại.
txwikinger

1
Sau các thử nghiệm tiếp theo, tôi khuyên bạn không nên sử dụng hoán đổi 100 hoặc 0. Cả hai đã tạo ra các tình huống trong đó máy tính để bàn rơi vào một cơn sốt hoán đổi, thậm chí đã dừng đồng hồ bảng trong hơn 20 phút.
txwikinger

11

Một số gợi ý:

  1. Đừng chạy quá nhiều chương trình GUI cùng một lúc.
  2. Đảm bảo rằng mọi chương trình đang chạy trong nền mà bạn không cần, ví dụ như Apache đều bị dừng.
  3. Sử dụng một bản phân phối nhằm vào các tình huống bộ nhớ thấp (ví dụ: cho netbook)
  4. Mua thêm bộ nhớ.
  5. Mua HD (hoặc SSD) nhanh hơn cho phân vùng trao đổi của bạn. :)


2
với SSD hiện đại, toàn bộ hệ thống có thể đã lỗi thời và sẵn sàng để thay thế từ lâu trước khi SSD chết. nó thực sự không đáng lo ngại về những ngày này. tất nhiên, các bản sao lưu vẫn được yêu cầu vì một đĩa - SSD hoặc cơ - có thể chết bất cứ lúc nào.
cas

4

Mua thêm bộ nhớ? :)

Nếu bạn đang chạy các ứng dụng đang sử dụng nhiều bộ nhớ hơn mức bạn có trong hệ thống, thì không có bất kỳ hệ điều hành nào có thể làm điều này sau đó để trao đổi sang phân vùng trao đổi. Nếu đây là tình huống bạn thấy mình thường xuyên, hãy ngừng chạy một số chương trình mà bạn không cần, hoặc, thực sự, mua thêm bộ nhớ, nó rất rẻ trong những ngày này.


3
Tôi đã có RAM tối đa. Tôi muốn biết một số điều chỉnh giúp trao đổi hiệu quả hơn nó.
txwikinger

1
Tôi đã thấy rằng việc vô hiệu hóa trao đổi hoàn toàn có xu hướng làm cho một hệ thống phản hồi nhanh hơn. Các ứng dụng được thông báo bởi kernel rằng chúng không có bộ nhớ và phản hồi tương ứng.
cjac

3
@cjac: Đó thường không phải là trường hợp. Bạn có thể định cấu hình kernel để thực hiện việc này, nhưng theo mặc định, nó sẽ quá mức (cung cấp bộ nhớ ứng dụng mà hệ thống của bạn không có). Ngay khi một ứng dụng chạm vào bộ nhớ và hạt nhân không thể tìm thấy thêm nữa, kẻ giết người hết bộ nhớ sẽ chấm dứt một hoặc nhiều quá trình.
Kristof Provost

@txwikinger lý do khiến việc hoán đổi chậm là vì tốc độ RAM nhanh hơn nhiều so với đĩa cứng. Thời gian tìm kiếm RAM được đo bằng nano giây (10 ^ -9). Thời gian tìm kiếm ổ cứng được đo bằng mili giây (10 ^ -3). Đó là sáu bậc độ lớn, nói cách khác, RAM nhanh hơn một triệu lần so với trao đổi. Câu hỏi của bạn giống như hỏi làm thế nào để làm cho một chiếc xe đạp đi nhanh như máy bay phản lực Concorde. Bạn không thể.
bahamat

1
@bahamat. Bạn đang nói rõ ràng, nhưng nó không phải là vấn đề. Vấn đề là việc hoán đổi được thực hiện rất kém hiệu quả, và do đó tạo ra một cái gì đó theo hướng của vấn đề của triết gia.
txwikinger

2

Cố gắng thay đổi giá trị của các biến nhân 'vm.swappiness' và 'vm.page-cluster' thành các giá trị phù hợp hơn.

  1. Bắt đầu một trình giả lập thiết bị đầu cuối.
  2. cd /etc/sysctl.d/
  3. sudo echo "vm.swappiness = 0" > 60-memory-management.conf
  4. sudo echo "vm.page-cluster = 1" >> 60-memory-management.conf
  5. sudo chmod 644 60-memory-management.conf
  6. Khởi động lại.

Kiểm tra xem các giá trị mới có được sử dụng với:

  1. cat /proc/sys/vm/swappiness
  2. cat /proc/sys/vm/page-cluster

1

Trao đổi sẽ làm giảm hiệu suất rất nhiều cho dù thế nào đi nữa, vì vậy tốt nhất nên tránh điều đó hoàn toàn. Điều này nghe có vẻ ngu ngốc, nhưng một tùy chọn là không cấu hình phân vùng trao đổi. Tôi đã chạy miễn phí trên tất cả các hệ thống của mình một thời gian rồi:

  • 1 GB trên netbook là đủ để duyệt web, nghe nhạc và các thứ nhẹ khác.
  • 4 GB trên máy tính để bàn của tôi là đủ cho tất cả những thứ trên cộng với sự phát triển (ngay cả trong Eclipse) và chỉnh sửa hình ảnh cơ bản.

Nếu bạn làm một cái gì đó thực sự tốn nhiều bộ nhớ (Gimp với hình ảnh lớn, mô hình 3D, CAD) thì bạn có thể nên mua một số RAM.


Vâng. Tôi từ từ đi đến kết luận tương tự. Tôi dường như với tôi rằng cách thức hoán đổi nhân Linux không hiệu quả cho máy tính để bàn (trên các máy chủ tất cả đều hoạt động tốt). Do đó, có lẽ khuyến nghị nên vô hiệu hóa tất cả không gian trao đổi trên máy tính để bàn. Btw. Tôi sử dụng RAM 8GB :)
txwikinger

1
@txwikinger: tôi có thể hỏi tại sao nó tốt trên máy chủ không?
phunehehe

1

Bạn có thể thử compcache , nếu bạn có thể tìm ra cách thiết lập nó trong bản phân phối của mình. Ví dụ: trên Ubuntu, bạn có thể kích hoạt nó bằng cách chỉnh sửa /etc/initramfs-tools/initramfs.conf và chỉnh sửa dòng "COMPCACHE_SIZE".

Tôi không nghĩ rằng trao đổi trên đĩa của tôi đã bị chạm một lần kể từ khi tôi kích hoạt compcache. Dưới đây là số liệu thống kê hoán đổi hiện tại của tôi:

% swapon -s
Filename                                Type            Size    Used    Priority
/dev/ramzswap0                          partition       1028084 69504   100
/dev/sda5                               partition       3148668 0       -1

Lưu ý rằng thiết bị compcache (ramzswap0) được sử dụng, còn thiết bị trên đĩa (sda5) thì không.


0

Mua RAM nhanh hơn và đảm bảo hệ thống của bạn đang sử dụng tất cả. Bạn đang sử dụng CPU và kiến ​​trúc nào?


Làm thế nào mà điều chỉnh hệ thống Linux? Thay đổi hoặc cải tiến phần cứng không phải là vấn đề ở đây.
txwikinger

Có thể cài đặt linux của bạn không sử dụng tất cả phần cứng có sẵn cho nó. Đây là vấn đề về hiệu suất và bạn đã tuyên bố trong một nhận xét trước đó rằng bạn đang ở giới hạn RAM tối đa. Không cần biết thêm chi tiết về cấu hình của bạn, một lộ trình dễ dàng thực hiện là phần cứng tốt hơn.
Mike H

1
"hệ thống Linux" bao gồm phần cứng và phần mềm. Thêm bộ nhớ là "điều chỉnh" hệ thống.
cjac

Linux là phần mềm chạy trên phần cứng. Phần cứng không được bao gồm trong Linux: p
txwikinger

1
Tôi nghĩ rằng nhiều ram thích hợp hơn là nhanh hơn ... tốc độ RAM bị giới hạn bởi Mobo thường quá ...
xenoterracide

0

Tôi chạy applet System Monitor trong một dock ở bên phải màn hình của tôi. Bất cứ khi nào hệ thống cảm thấy chậm chạp, tôi hãy nhìn vào mét. Nếu bất cứ điều gì đang chạy ở mức trên 10% công suất, đó là một dấu hiệu cho thấy một quá trình đang ra khỏi tầm tay.

Nếu bạn nhấp vào màn hình hệ thống, bạn có thể tìm hiểu các quy trình đang tiêu tốn tài nguyên trên hệ thống của bạn.

http://www.colliertech.org/~cjac/tmp/screenies/system_monitor.png


1
Hầu hết các hệ thống giám sát chỉ cần kéo xuống một hệ thống chậm hơn đó là con mèo Schrödinger. Không tăng bộ nhớ, anh ta phải sửa lỗi rò rỉ bộ nhớ hoặc cắt các chương trình không cần thiết đang chạy.
jjclarkson

0

Một vài năm trước, thông thường sử dụng một ổ đĩa chuyên dụng để trao đổi, trong khi được kết nối với xe buýt IDE / ATA của riêng nó - trao đổi dữ liệu xung quanh trên cùng một ổ đĩa chỉ không có ý nghĩa về mặt hiệu suất.

Thủ thuật đó đã hoạt động cách đây mười năm, nhưng với tốc độ ổ đĩa bây giờ bạn thực sự không nên thấy sự xuống cấp hiệu suất bận rộn như vậy, trừ khi bạn đổi thư viện quốc hội, nếu không tôi sẽ lo lắng về sức khỏe ổ đĩa của mình - gần đây bạn đã kiểm tra chưa?

Bạn luôn có thể dùng thử, bạn không có nhiều lựa chọn thay thế nếu RAM của bạn đã đạt tối đa. Nếu bất cứ điều gì tôi hy vọng nó làm cho GUI của bạn phản ứng nhanh hơn.


Rất nhiều cách sử dụng cho máy tính để bàn không cung cấp tùy chọn này vì chúng là lapbooks hoặc netbook không cho phép ổ đĩa thứ hai.
txwikinger

@txwikinger rõ ràng là đúng, nhưng tôi đã xem tiêu đề của câu hỏi là "máy tính để bàn", nếu không tôi sẽ không đề xuất điều này nếu một máy tính xách tay được đề cập cụ thể :-)
đảo ngược

Chà .. ý tôi là máy tính để bàn để phân biệt với máy chủ, nơi tôi tin rằng việc hoán đổi hoạt động hợp lý. :)
txwikinger

0

Cài đặt hệ thống Linux thứ hai trên mạng của bạn với một lượng RAM tốt, NFS gắn nó vào hệ thống chính của bạn và đặt tệp hoán đổi trên đó.


1
Với gigabit Ethernet, tốc độ này sẽ chậm hơn rất nhiều so với SSD tầm trung và tôi không chắc liệu bạn có thể đạt được tốc độ của ổ cứng 7200rpm hay không. Có thể với Firewire bạn có thể đạt được tốc độ trao đổi cục bộ. Nhưng nó sẽ hiệu quả hơn nếu chỉ cần thêm RAM.
Gilles 'SO- ngừng trở nên xấu xa'

0

Một cách là bằng cách sử dụng một hạt nhân được tối ưu hóa .


Xin đừng chỉ đăng liên kết; bao gồm một số bối cảnh để trang web bạn đang liên kết đi xuống, có đủ thông tin ở đây để làm cho câu trả lời có ý nghĩa.
jasonwryan

0

Trong nhiều năm kinh nghiệm, tôi có thể nói với bạn rằng không có quá nhiều điều chỉnh

Nhưng, những gì tôi đã làm gần đây đã giúp rất nhiều.

1

Tôi đã chuyển từ Ubuntu sang Arch Linux, từ Unity / Gnome sang máy tính để bàn xfce.

Ubuntu rất chậm, từ khắp mọi nơi. khởi động / đồ họa .. chậm.

2

Tôi đã mua một ổ SSD Intel (80g) và trồng hệ thống gốc của mình trên đó.

Linux arch + XFCE4 + docky + conky của tôi, khởi động sau 10 giây (đăng nhập tự động với lxdm), tất cả ứng dụng được cài đặt trên SSD, ví dụ Matlab, khởi động nhanh hơn nhiều.

Số tiền xứng đáng.

3

Đặt / tmp của bạn ở nơi khác, tôi sử dụng kích thước ramdisk giới hạn cho nó, để ngăn hệ thống tập tin gốc bị xáo trộn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.