Với một ổ SSD, tôi có cần thay đổi tính linh hoạt của mình để tăng tuổi thọ SSD không?


35

Tôi gặp bài viết này bao gồm các gợi ý sau:

Trao đổi và trao đổi

Tôi giữ phân vùng trao đổi của tôi trên ổ cứng cũ. Trao đổi trên SSD sẽ nhanh hơn, nhưng cũng sẽ rút ngắn tuổi thọ của SSD.

Hệ thống của tôi có rất nhiều bộ nhớ, vì vậy tôi cũng giảm giá trị trao đổi về 0 để yêu cầu Ubuntu chỉ trao đổi khi thực sự cần thiết. Tôi đã làm điều này bằng cách thêm dòng vm.swappiness = 0 vào /etc/sysctl.conf.

Có đúng là cài đặt swappiness thành 0 sẽ tăng tuổi thọ cho ổ SSD của tôi không? Tôi không thể tìm thấy tài liệu tham khảo này ở nơi khác.

Câu trả lời:


30

Giảm swappiness xuống 0 có nghĩa là HĐH sẽ chỉ bắt đầu sử dụng SSD để trao đổi khi không còn RAM trống.

Về mặt lý thuyết, điều này có thể làm tăng tuổi thọ của SSD vì SSD sẽ ít bị ghi hơn. Nó phụ thuộc vào việc nó có thực sự làm tăng tuổi thọ của SSD hay không:

  • Linux hiếm khi sử dụng trao đổi (đặc biệt là so với cửa sổ) ngay cả với các giá trị trao đổi cao hơn, vì vậy cài đặt này có thể sẽ không thay đổi hành vi tráo đổi trên các hệ thống có nhiều RAM so với mức sử dụng RAM. Nếu bạn thiếu RAM thì việc hoán đổi có thể xảy ra khá thường xuyên với giá trị mặc định là 60, trong trường hợp này, việc giảm sự thay đổi có thể sẽ có tác động đáng kể đến giới hạn chu kỳ ghi của SSD.

  • Độ bền ghi của SSD vẫn còn khá cao đối với người dùng đơn giản, ít nhất là đối với SSD dựa trên MLC . Họ nói rằng SSD dựa trên MLC hiện tại có thể chịu được ca. 3000-5000 viết chu kỳ trước khi chúng bị mòn. Tính toán với giới hạn 3000 có nghĩa là ổ SSD 128 GB với tốc độ ghi 10 GB hàng ngày sẽ hoạt động tốt cho ca. 38000 ngày, có nghĩa là ca. 100 năm. Nếu bạn có một ổ SSD lớn hơn tất nhiên sẽ bị hao mòn nhiều sau này. Vì vậy, rất khó có khả năng SSD của bạn sẽ chết vì các tế bào bị hao mòn. (Tất nhiên nếu bạn sử dụng SSD của mình trong môi trường công ty / máy chủ thì tốc độ ghi hàng ngày cao hơn nhiều, nhưng trong môi trường doanh nghiệp thường sử dụng SSD dựa trên SLC .)

  • Giới hạn chu kỳ ghi này cao đến mức các nhà sản xuất SSD (lúc đầu là SAMSUNG) bắt đầu sản xuất SSD dựa trên TLC cho người tiêu dùng, chỉ có thể chịu đựng được ca. 1000 chu kỳ viết, nhưng rẻ hơn. Các công ty này nói rằng thậm chí giới hạn chu kỳ ghi của SSD này sẽ kéo dài hơn thời gian sản phẩm dự kiến ​​sẽ được sử dụng. (Không chắc là vào năm 2024, chúng tôi vẫn sẽ sử dụng ổ SSD 128 GB của chúng tôi) Mặc dù nếu bạn có ổ SSD dựa trên TLC và bạn viết khá thường xuyên vào ổ đĩa đó, ví dụ 50GB / ngày, việc giảm giá trị trao đổi có thể sẽ có tác động đáng kể trên tuổi thọ SSD của bạn.
  • Đây là một chủ đề khổng lồ nơi những người đam mê đã kiểm tra độ bền của SSD bằng cách liên tục viết thư cho họ. Mặc dù phương pháp thử nghiệm của họ có lẽ không hoàn toàn chính xác, nhưng kết quả của họ khá ấn tượng và nhẹ nhàng.

Vì vậy, để tóm tắt: Theo lý thuyết là có, việc giảm tính dễ thay đổi sẽ dẫn đến tuổi thọ SSD dài hơn, trong thực tế, điều đó có thể sẽ không xảy ra. Nhưng nếu bạn có SSD dựa trên TLC và bạn thiếu RAM và bạn thường ghi thường xuyên vào SSD thì nó cũng có thể có hiệu quả thực tế.

Tôi có ổ SSD 128 GB dựa trên MLC và tôi chủ yếu sử dụng hệ thống của mình cho văn phòng / duyệt web và tôi có nhiều RAM so với mức sử dụng RAM của tôi để SSD của tôi không bị tải nặng (mặc dù máy của tôi hoạt động 24/7). Nhưng bởi vì tôi không cần trao đổi gì cả và thật dễ dàng để hạ thấp sự thay đổi mà tôi đã làm cho bản thân mình đặt mức độ thay đổi thành 0 khi tôi cài đặt ổ SSD của mình, vì tại sao không làm điều đó? (Trên thực tế, tôi đặt swappiness thành 0 trên tất cả các máy của mình, ngay cả trên các máy chỉ có ổ cứng.)

Bạn có thể kiểm tra xem ổ SSD của bạn đã bị lỗi bao nhiêu trong suốt thời gian sử dụng smartctl, hãy tìm dòng Total_LBAs_Writtennày, điều này sẽ cho bạn thấy có bao nhiêu 512b đã được ghi vào SSD. (Có, tôi biết rằng SSD có các khối 4K vật lý, không phải 512b, nhưng SMART vẫn nói: Sector Size: 512 bytes logical/physicalvà với 512 khối tôi nhận được kết quả tương đương với tune2fs -lđầu ra ghi trọn đời.) Vì vậy, nhiều số đó với 512 và bạn nhận được ghi theo byte hoặc viết tắt là:

sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'

sẽ in ra trong GiBs cho / dev / sda. (Chỉ cần thay đổi tên thiết bị thành tên SSD của bạn.) SSD 128 GB của tôi đã bị ảnh hưởng. 800 GB ghi trong hơn một năm, điều đó có nghĩa là chỉ có 7 chu kỳ ghi được sử dụng từ 3000.


Với một hệ thống tập tin, người ta có thể TRIM để giảm khuếch đại ghi. Có một tương đương cho một phân vùng SWAP?
Bryce

Câu trả lời này dường như cho rằng "swappiness" nằm trong khoảng từ 0 đến 100 với số không có nghĩa là không tráo đổi (và 100 có nghĩa là không có RAM?). Nhưng, một câu trả lời khác đi sâu vào chi tiết hơn về swappinessgiá trị, chỉ ra rằng số nằm trong khoảng từ 0 đến 200 và thể hiện trọng số tương đối đối với các loại hoán đổi khác nhau.
palswim

7

Tất cả những điều này nói về việc sử dụng SSD là "phỏng đoán". Tôi cũng có cảm giác tương tự, nhưng bắt đầu sử dụng chúng một cách thương mại. Tôi có một trong những cụm tiên tri nhanh nhất ở bờ biển phía đông. 3 năm trước, chúng tôi đã thiết lập SSD cho toàn bộ hệ thống lưu trữ VÀ tệp tạm thời của chúng tôi. Chúng tôi thực hiện hàng tỷ thao tác ghi / ngày vào SSD. Sau 3 năm, chúng tôi vẫn chưa đến nơi bị kiệt sức gần 10%. Nếu tôi có thể làm điều đó một cách thương mại, họ sẽ KHÔNG BAO GIỜ bị hao mòn trong tình huống dân cư. Vì vậy-- Tôi đã triển khai một giải pháp SSD dành riêng cho không gian hoán đổi trên máy trạm linux và BAM !!!

Vì vậy, số dặm của bạn khác nhau, nhưng SSD là cách để đi theo mọi cách.

Dave


SSD có nghĩa là cho các máy chủ có thể ghi nhiều hơn so với SSD (rẻ hơn) dành cho người tiêu dùng.
jarno

1
Hiểu rõ, nhưng tôi có ổ SSD tiêu dùng được cài đặt tại các máy trạm chạy 24x7 được triển khai trên toàn doanh nghiệp và chúng tôi sao lưu đồng bằng mỗi vài ngày nhưng không gặp sự cố nào trong 2 năm. Hãy nhớ rằng MTBF cho một đĩa quay vật lý là 3 năm và theo kinh nghiệm của tôi về hệ thống bán / bảo dưỡng trong hơn 25 năm, điều đó khá chính xác. SSD vượt trội hơn tất cả các tùy chọn khác, thương mại hoặc người tiêu dùng.
TekOps

3

. Bạn cần phải thay đổi swappiness để tăng tuổi thọ SSD.

Swappiness cho phép bạn kiểm soát số lượng tập tin trao đổi đang được sử dụng. Giá trị trao đổi có thể thay đổi từ 0 đến 100. Giá trị trao đổi càng cao thì hạt nhân sẽ càng cố gắng sử dụng không gian hoán đổi, giá trị trao đổi thấp hơn có nghĩa là hạt nhân sẽ sử dụng ít hơn hoặc không có không gian hoán đổi tùy thuộc vào cài đặt của chúng tôi.

Giá trị trao đổi mặc định từ 60 là, nếu bạn có nhiều RAM, bạn nên tránh sử dụng không gian hoán đổi ghi và đọc vào ổ SSD của bạn, nhưng vào ổ cứng. Đối với hệ thống có RAM 4 GB trở lên, hãy thử giảm mức sử dụng trao đổi bằng cách thay đổi cài đặt swappiness xuống từ 10 thậm chí 0, với tệp hoán đổi nằm trên ổ cứng.

Chạy một không gian hoán đổi rất tốn I / O đĩa và điều đó thực sự tệ cho SSD. Một ổ SSD chỉ có thể xử lý rất nhiều ghi trước khi nó bị hỏng và bạn buộc phải mua một ổ đĩa khác. Vì vậy, nếu có thể, hãy chuyển không gian hoán đổi của bạn sang ổ đĩa thứ cấp, quay vòng ra khỏi ổ SSD.

Ổ đĩa thể rắn bị hao mòn tương đối nhanh chóng bằng cách viết hành động. Đặc biệt là các thế hệ SSD lâu đời nhất dễ bị tổn thương ở khía cạnh đó, nhưng ở mức độ thấp hơn vẫn là trường hợp của các thế hệ mới hơn.

Bạn có thể tạo một phân vùng mới trên một đĩa mới hoặc chỉ tạo một tệp hoán đổi thay thế; tạo một phân vùng mới hầu như sẽ luôn mang lại hiệu suất tốt hơn nhiều.

Nếu bạn không có ổ đĩa thay thế để di chuyển đến, bạn có thể thay đổi cài đặt sẽ chỉ cho phép trao đổi khi RAM vật lý của bạn đã đầy 100%, điều này sẽ giảm tải cho bộ đệm của bạn và giúp SSD của bạn. Chỉ cần nhấn Ctrl+ Alt+ Ttrên bàn phím để mở Terminal. Khi nó mở, chạy (các) lệnh bên dưới:

echo 0 > /proc/sys/vm/swappiness

Sự hao mòn của SSD phải liên quan đến chu kỳ ghi

Ổ đĩa thể rắn bị hao mòn tương đối nhanh chóng bằng cách viết hành động. Đặc biệt là các thế hệ SSD lâu đời nhất dễ bị tổn thương ở khía cạnh đó, nhưng ở mức độ thấp hơn vẫn là trường hợp của các thế hệ mới hơn.

Sử dụng Trim

TRIM là một lợi thế mà bạn sử dụng với SSD. Nó chạy trong phần mềm và giao tiếp với bộ điều khiển SSD, nói với nó rằng 'các khối' không còn cần thiết cho hệ thống tập tin và có thể được dọn dẹp và ghi đè một cách an toàn. Điều này sẽ không thực sự dẫn đến cải thiện hiệu suất, nhưng sẽ kéo dài tuổi thọ của SSD của bạn.

Nguồn: Tinh chỉnh SSD Linux & Cách tối ưu hóa SSD của bạn


Tôi muốn biết điều gì là sai? OP đã hỏi liệu anh ta có cần thay đổi sự linh hoạt của mình để tăng tuổi thọ SSD hay không, và câu trả lời là có, anh ta cần phải thay đổi sự thay đổi.
Mitch

Tôi hiểu rằng các phiên bản mới nhất của Ubuntu sẽ tự động sử dụng TRIM cho SSD.
Paddy Landau

Ubuntu mới nhất chỉ sử dụng TRIM cho một số mẫu SSD nhất định. @PaddyLandau
Bryce

2

Có đúng là cài đặt swappiness thành 0 sẽ tăng tuổi thọ cho ổ SSD của tôi không?

Nó sẽ khiến Linux di chuyển các khối bộ nhớ ít thường xuyên hơn sang phân vùng trao đổi. Ghi vào trao đổi thường sử dụng chu kỳ ghi nếu trao đổi của bạn nằm trong SSD. Hãy nhớ rằng trao đổi chỉ được sử dụng khi cần thiết và nếu bạn có đủ RAM, bạn có thể tốt hơn nếu không có nó (trừ khi bạn muốn ngủ đông, nhưng đó là một vấn đề khác).

Tác động của hành động này có thể khác nhau, nhưng thực hiện nó chỉ để lưu một số chu kỳ ghi trong SSD là làm sai. Các ổ SSD hiện đại (khoảng từ năm 2012 trở đi) có hàng tấn chu kỳ ghi và hiệu suất có thể bị giảm cho các ứng dụng của bạn khi bạn gần như sử dụng hết RAM. Bạn sử dụng nhiều chu kỳ ghi trong quá trình cài đặt chương trình hơn là trao đổi do. Hãy nhớ rằng, một lần nữa, trao đổi đó chỉ được sử dụng khi cần thiết theo mặc định.

Nếu bạn lo lắng về chu kỳ ghi SSD của mình được sử dụng để trao đổi, bạn có thể loại bỏ / hủy kích hoạt trao đổi hoàn toàn nếu bạn có đủ RAM và chỉ kích hoạt trao đổi tạm thời trong ổ cứng thay vì làm rối tung tính hoán đổi. Đó sẽ là con đường tốt nhất.


0

Tôi rất khuyên bạn nên thay đổi cài đặt swappiness thành giá trị thấp hơn, tốt nhất là "0" nếu bạn có đủ bộ nhớ / ram cho hệ thống ram 4 GB trở lên. Mặc dù swappiness ở mức 10 với hệ thống ram cao, tôi hầu như không thấy ubfox đặt bất cứ thứ gì vào phân vùng trao đổi vì hầu hết mọi thứ đều có trên ram.

Tôi đã thực hiện một chút tìm kiếm trên google và tôi đã tìm thấy trang này http://namhuy.net/1563/how-to-tweak-and-optizes-ssd-for-ubfox-linux-mint.html

có thể giúp bạn điều chỉnh và tối ưu hóa SSD cho hệ thống Ubuntu của bạn chạy hiệu quả hơn và giữ cho ssd của bạn tồn tại lâu hơn


0

Thay đổi swappiness có thể không thực sự có tác động. Chúng tôi đã chơi với nó rất nhiều trong các hệ thống thiếu RAM và chúng tôi muốn đẩy càng nhiều càng tốt cho SSD và nó thực sự đã tạo ra ít ảnh hưởng, các mục còn lại trong bộ nhớ (có nghĩa là chúng cần thiết). Đây có thể là một điểm moot


0

Tôi thích ý tưởng kiểm tra smartctlđầu ra, tuy nhiên, mã của tôi nhỏ gọn hơn một chút. Tôi chưa bao giờ hiểu tại sao mọi người không biết rằng nó awkgrepkhả năng tích hợp trong đó.

sudo smartctl -a /dev/sdb | awk ' ($0 ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'

Mặc dù đây là mã tôi sử dụng:

sudo smartctl -a ${device} | awk ' ($0 ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'
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.