Windows 2008: Thư mục WinSXS phát triển không kiểm soát, chặn máy chủ


62

Tôi chạy một Máy chủ ảo (được lưu trữ từ xa) với Máy chủ Windows 2008 cho một máy khách. Ban đầu, nó có 10 GB dung lượng. Trong suốt một vài tuần - trong thời gian đó, không có gì được thực hiện trên máy ngoại trừ công việc bình thường sử dụng hệ thống icket dựa trên web -, Windows bắt đầu lấp đầy thư mục "winxs" khét tiếng của mình đến nỗi cuối cùng, đĩa cứng là đầy đủ và chúng tôi đã phải đặt thêm 5 GB. Bây giờ, ba tuần sau, 5 GB này cũng đã được winx sử dụng và một lần nữa tôi không thể làm việc trên máy. Winsxs hiện có dung lượng lớn 8 GB, phần còn lại của thư mục windows 5 GB.

Tôi đã tìm thấy nhiều nguồn khác nhau trên web mô tả cùng một vấn đề. Rõ ràng, Windows 2008 lưu trữ tất cả các phiên bản ngôn ngữ cho tất cả các DLL mà nó tải xuống trong quá trình cập nhật thông thường. Chỉ cần xóa những thứ ở đó được mô tả là nguy hiểm chết người vì nó có chứa các thành phần quan trọng. Tôi chưa tìm thấy bất kỳ loại công cụ hoặc hướng dẫn nào để xác định và xóa các tệp không còn cần thiết.

Tôi có thể làm gì? Đây có phải là hành vi bình thường và nếu có, làm thế nào để các máy chủ khác có không gian hạn chế như nhau quản lý? Có cái gì tôi có thể tắt hoặc bật?

Trong số các vai trò máy chủ được xác định trước, chỉ "Dịch vụ tệp" (hoặc bất cứ thứ gì nó được gọi bằng tiếng Anh, đó là máy chủ Thụy Sĩ) được kích hoạt. Ngoài ra, tôi đã cài đặt Apache, myQuery và Subversion. Cập nhật tự động được kích hoạt.

Chỉnh sửa: Vấn đề vẫn tồn tại.

Lưu ý: Tôi biết rằng thư mục WinSXS chủ yếu bao gồm các liên kết tượng trưng và người dùng thường hoảng loạn khi nhìn vào kích thước của nó. Tuy nhiên, trong 15 GB dung lượng, tôi có 1,5 MB được sử dụng bởi các chương trình và dữ liệu và không còn gì cả . Tôi rất vui vì tôi thậm chí có thể truy cập vào máy chết tiệt. * Tôi đã giải phóng được 1 GB dữ liệu, được Windows Windows lấp đầy trong vòng 24 giờ. Nó giống như trong một bộ phim kinh dị. Những gì tôi đã thử:

  • Cài đặt SP2 (đi kèm với compcln.exe) không phải là một tùy chọn, vì dung lượng đĩa không đủ cho cả điều đó.
  • Không có vsp1clean.exe trên máy, có lẽ vì SP1 đã được hợp nhất vào hệ thống. Trong thực tế, không tồn tại tập tin có tên * cln.exe ở bất cứ đâu.
  • Không bản sao bóng tối. Bản sao bóng tối không hoạt động.
  • Theo như tôi có thể nói, không có điểm khôi phục hệ thống nào hoạt động.
  • Vai trò máy chủ duy nhất được kích hoạt là "máy chủ tệp".
  • Chức năng "dọn dẹp" tiêu chuẩn (nhấp chuột phải vào ổ C:) đang cung cấp cho tôi 2 MB trong nội dung rác và các tệp internet tạm thời.
  • Sử dụng một trong các tập lệnh "dọn dẹp winxs" xung quanh không phải là một lựa chọn cho tôi, tất cả chúng đều trông quá mờ ám. Tôi không thể tìm thấy bất cứ điều gì trực tiếp từ Microsoft giải quyết vấn đề này.

Bạn đã giải quyết điều này cuối cùng?
UpTheCux

@UpTheCalet thực sự, thật đáng buồn, không! Nhà cung cấp đã cấp cho chúng tôi 5 GB dung lượng bổ sung trên VPS, điều mà Windows may mắn không lấp đầy. Nhưng thư mục Windows vẫn chiếm 20 GB. Hợp đồng sẽ sớm hết hạn và chúng tôi sẽ chuyển đổi các công ty lưu trữ.
Pekka hỗ trợ GoFundMonica

Câu trả lời:


24

Thư mục WinSxS không chiếm gần hết dung lượng được Explorer báo cáo vì nó sử dụng Liên kết cứng đến các tệp vật lý, không phải các tệp thực tế. Explorer chỉ có vấn đề báo cáo kích thước của các liên kết cứng.

Bài viết này về Không gian đĩa (được tham khảo tại đây http://aspoc.net/archives/2008/11/20/winsxs-disk-space-and-windows-7/ ) có một lời giải thích tuyệt vời về thư mục WinSxS.

Đối với vấn đề sử dụng đĩa thực tế của bạn - Bạn có thể thử chạy COMPCLN.EXE để xem liệu bạn có thể dọn sạch bất kỳ gói dịch vụ cũ và các tệp sửa lỗi nóng nào không, điều này sẽ giúp ích khá nhiều. Tôi cũng sẽ xem xét bất kỳ thư mục đăng nhập để xem nếu có điều gì khác đang xảy ra.


Điều này nghe có vẻ tốt, tuy nhiên trên thực tế, thư mục Windows dường như tiêu thụ> 12 GB (đó là dung lượng 15 GB, chương trình và dữ liệu làm việc chiếm 2,5 GB và không còn dung lượng trống). Compcln.exe không tồn tại vào năm 2008, có ai biết một lệnh tương tự ở đó không?
Pekka hỗ trợ GoFundMonica

Chỉ có thể là W2K8 SP2: news.softpedia.com/news/ Kẻ
Christopher_G_Lewis

SP2 nghe có vẻ thú vị, nhưng máy chủ quá đầy đủ, tôi thậm chí không thể cài đặt nó. Tôi đã yêu cầu nhà cung cấp cho một số không gian bổ sung trong một vài ngày nhưng họ đã không được chứng minh là quá hữu ích trong quá khứ. Điều này thực sự gây phiền hà, và gây ra vấn đề nghiêm trọng. Tôi đang mở một tiền thưởng và thêm một số ảnh chụp màn hình.
Pekka hỗ trợ GoFundMonica

Tôi đoán rằng việc định hình lại máy và chạy các bản cập nhật không phải là một lựa chọn cho bạn?
blueberryfields

Chỉ là phương án cuối cùng, vì tôi đã đầu tư rất nhiều công việc để sắp đặt mọi thứ ... Điều đó có thể sẽ giải quyết nó, nhưng tôi sẽ rất vui khi được giải quyết nó.
Pekka hỗ trợ GoFundMonica

18

Tôi đã ở trong cùng một chiếc thuyền với bạn. Tôi đã có 5 máy ảo 2008 hoàn toàn mới và tôi đã xem chúng liên tục đòi hỏi không gian đĩa nhiều hơn trong năm qua. Hãy để tôi minh họa với Windrstat.

Đây là ảnh chụp màn hình của một máy chủ hoàn toàn mới năm 2008 :

văn bản thay thế Thư mục winxs 3,8 GB

Bây giờ đây là một bản chụp màn hình của một máy chủ sản xuất 2008 :

văn bản thay thế Thư mục winxs 5,4GB

Cuối cùng, một ảnh chụp màn hình của một máy chủ 2008R2 hoàn toàn mới : văn bản thay thế thư mục winxs 5,4 GB

Từ những gì tôi có thể nói, không có cách nào để cắt bớt thư mục winxs. WinSxS là viết tắt của Windows Side-by-Side. Trong nỗ lực của họ để giảm các hiệu ứng DLL hell (tức là Dependencies), Microsoft đã quyết định giữ mọi phiên bản của mọi DLL từng được cài đặt trên hệ thống của bạn trong thư mục winxs.

Điều này có nghĩa là hai điều (tôi nghĩ):

  1. Mặc dù có một số liên kết cứng trong winx, nhưng các liên kết cứng duy nhất nên là các liên kết DLL hiện tại. Nói cách khác, các DLL hiện tại đang hoạt động trong hệ thống được liên kết cứng trở lại thư mục winxs này.

  2. Tất cả các phiên bản trước của DLL vẫn có sẵn và được sao lưu trong thư mục winxs. Như bạn có thể thấy trong tất cả các ví dụ, nếu thư mục winxs thực sự là "chủ yếu là các liên kết cứng" thì sẽ không có cách nào nó có thể chiếm hơn 50% mức sử dụng đĩa hiện tại của bạn. Bây giờ ngay cả khi đúng là thư mục winxs "chủ yếu là liên kết cứng", việc sử dụng 50% có nghĩa là toàn bộ ổ C: của bạn đã được liên kết cứng trở lại vào thư mục winxs.

Tôi đã thử mọi cách. Xóa các tập tin cũ, gỡ cài đặt các bản vá, xóa các thư mục bản vá "$". Mọi điều.

Cuối cùng tôi đã tăng tất cả các phân vùng C: trên tất cả các máy chủ của mình lên 30 GB mỗi phân vùng. Đây sẽ chỉ là một sửa chữa tạm thời, vì thư mục winxs sẽ tiếp tục phát triển. Mặc dù vậy, tin tốt là phiên bản mới nhất của NTFS cho phép bạn phát triển các phân vùng của mình mà không cần khởi động lại. Tiện như thế nào.

WinSxS không chỉ là một thư mục gây phiền nhiễu, đây là một phương pháp mới cho tất cả các nhà phát triển Windows. WinSxS sẽ không biến mất bất cứ lúc nào sớm. Các nhà phát triển đang sử dụng WinSxS và tùy thuộc vào nó cho đến khi một phương pháp mới về lưu trữ DLL hoặc độ phân giải phụ thuộc trở nên khả dụng.

Trên mỗi cửa sổ mới 2008/7 / Vista, tôi cảm thấy rằng 30 GB C: gần như đúng. Đủ chỗ (bây giờ) cho các bản vá, nhật ký và một vài ứng dụng.

Tôi không thể đợi cho đến khi ai đó phát hiện ra tất cả những điều này và bắt đầu kích hoạt lại các DLL vá trước với các biểu hiện giả mạo , trở thành các vectơ tấn công / khai thác.


1
Cảm ơn, nếu không có cách giảm béo thần kỳ nào WinSXS bật lên, tôi sẽ chấp nhận câu trả lời này vì đã cho tôi biết tôi không phải là người duy nhất đang xảy ra chuyện này. Quá tệ dường như không có một giải pháp. Nâng cấp lên 30GB sẽ rất khó để biện minh, vì đây là lưu trữ trả phí bên ngoài. Có lẽ tôi sẽ hạ cấp xuống năm 2003 - nhưng điều đó nghe cũng thật ngớ ngẩn ...
Pekka hỗ trợ GoFundMonica vào

1
Vâng, tôi cũng không quá vui mừng về điều này. Có vẻ như winxs không phải là một tập hợp các liên kết cứng. Thay vào đó, nó chiếu các liên kết cứng vào phần còn lại của hệ thống, nhưng dường như cũng có một số bất đồng về điều đó. winvistaclub.com/f16.html ...
Joseph Kern

Tôi cũng muốn đề cập rằng tôi không kích hoạt vai trò máy chủ trên bất kỳ máy chủ nào tôi sử dụng làm ví dụ. Máy chủ sản xuất là một máy chủ tomcat apache. Và chương trình tôi sử dụng để tìm không gian ổ đĩa là Windirstat.info
Joseph Kern

5
MS yêu cầu 32 GB là yêu cầu đĩa tối thiểu: microsoft.com/windowsserver2008/en/us/system-requirements.aspx
Christopher_G_Lewis

5

15 GB sẽ không cắt giảm theo kinh nghiệm của tôi, đặc biệt nếu đó là máy 64 bit với một số hoạt động ...

Mở rộng đĩa VPS và sau đó phân vùng hệ thống phải dễ dàng mà không phải cài đặt lại bất cứ thứ gì, tuy nhiên nó rất tốn kém. Cung cấp ổ đĩa hệ thống dưới 60 GB cho VPS Windows Server hiện đại dường như không được nghĩ đến ngay từ đầu ngay cả khi ~ 30 GB có thể cắt giảm trong một thời gian: 7

Việc cài đặt 32 bit sẽ loại bỏ một chút chi phí và đối với Server Core sẽ loại bỏ rất nhiều. Máy chủ tệp 32 bit Server 2008 Core của tôi chạy svnserve, dfs, in phục vụ và được cập nhật thường xuyên là khoảng 5 GB ... trong khi Tiêu chuẩn Server 2008 64 bit của tôi phục vụ các ứng dụng web (asp.net và php sử dụng IIS) chiếm 30 GB ngay bây giờ. Tất cả các số liệu này đều loại trừ các kho lưu trữ / phân vùng dữ liệu, chỉ có hệ thống Windows và cả hai chỉ là ví dụ tôi có các đĩa hệ thống Server 2008 64 bit chiếm bất cứ thứ gì từ 10 đến 35 GB ngay bây giờ.

Mọi công cụ, nâng cấp hoặc ứng dụng bạn cài đặt sẽ phát triển thư mục winxs và gỡ cài đặt nội dung sẽ không có bất kỳ ảnh hưởng nào đến winx vì hệ thống có thể nghĩ rằng các phụ thuộc đó được sử dụng bởi các công cụ khác.


5

Điều này có lẽ là quá muộn đối với bạn và chỉ dựa trên kinh nghiệm của Vista, nhưng:

  1. Đừng tin những người nói rằng 'hầu hết các liên kết cứng của nó, vì vậy thư mục không lớn như nó xuất hiện' - điều này đúng, nhưng nếu bạn hết dung lượng đĩa, thì nó quá lớn.
  2. Cách 'chữa bệnh' duy nhất từng được đề xuất là loại bỏ các ứng dụng đã thêm sự phình to vào thư mục - nhưng không có cách nào được ghi lại mà tôi biết để tìm ra thủ phạm.
  3. 'Cách chữa trị' của tôi sau khi không tìm được câu trả lời thỏa đáng là xóa một cách tàn nhẫn những thư mục lớn nhất (và không mong muốn), vd:

    • 6 phiên bản 'Tìm kiếm ngôn ngữ tự nhiên của Microsoft', với giá ~ 300kB mỗi phiên bản
    • Nhiều phông chữ phương Đông tôi sẽ không bao giờ sử dụng (đôi khi 6 vns trong số này, hầu hết giống hệt nhau)
    • Vân vân.

Giả sử bạn bắt đầu với một bản sao lưu (hình ảnh) tốt, hãy thử nó và xem!


4

Nếu có thể, bạn có thể thử di chuyển WinSXS sang phân vùng khác như một cách giải quyết. Theo hiểu biết của tôi, không có cách nào để loại bỏ nội dung của WinSXS. Điều nhỏ bé dễ thương này nằm ở trung tâm của hoạt động Vista / Win2008, vì vậy ... tôi chưa nghe thấy gì tốt hơn khi chuyển nó sang phân vùng khác.

Đây là một liên kết đến một blog mô tả cách làm: Nhấp vào

Tôi sẽ đề nghị bạn thực hiện sao lưu toàn bộ (thậm chí tốt hơn: hình ảnh) của toàn bộ phân vùng C: trước khi thử quy trình. Xin lưu ý rằng tôi đã thử điều này chỉ trên Vista, không phải trên Máy chủ Win2008.


Ý tưởng tốt, nhưng trong trường hợp của tôi (đây là VPS không có bộ nhớ thay thế) thì thật không may, đây không phải là một lựa chọn.
Pekka hỗ trợ GoFundMonica

--- và tạo một hình ảnh không phải là dễ dàng cho cùng một lý do - nếu không tôi sẽ tạo một hình ảnh và thử chạy nó trên máy của mình để kiểm tra thêm.
Pekka hỗ trợ GoFundMonica

3

Nếu thủ phạm chính là WindowsUpdate, thì tôi sẽ nói thay thế duy nhất của bạn là mua thêm dung lượng hoặc thực hiện phẫu thuật tệp hệ thống là để hạn chế sự tăng trưởng do các cập nhật kích hoạt hạnh phúc của Microsoft.

Vì bạn chủ yếu sử dụng nền tảng ứng dụng không phải của Microsoft, nên bạn có thể thực hiện mà không cần 90-95% các cập nhật "quan trọng" bị đẩy xuống.

Do đó, những gì bạn có thể làm là vô hiệu hóa các bản cập nhật tự động và sau đó RẤT chọn lọc về những cập nhật "quan trọng" nào sẽ được áp dụng. Chỉ áp dụng những lỗ hổng vá lỗ hổng TRỰC TIẾP thỏa hiệp kế hoạch bảo mật của bạn. Hầu hết các cập nhật "quan trọng" có thể không áp dụng cho kịch bản bảo mật của bạn và nếu có, bạn có thể sửa đổi gói bảo mật của mình để thực hiện mà không có chúng (ví dụ: không sử dụng IE trên máy chủ, sử dụng các dịch vụ tệp thay thế, thắt chặt bảo mật mạng) .


3

Nếu WinDirStat và chính hệ điều hành (chỉ cần tìm trong Máy tính của tôi) đang báo cáo cùng một dung lượng được sử dụng, thì nó sẽ không hoạt động nếu nó thay đổi kích thước như các liên kết cứng. Nếu hệ điều hành nghĩ rằng bạn hết dung lượng - BẠN ĐANG RA KHỎI KHÔNG GIAN.

Tôi gặp sự cố này trên Storage Server 2008 và DC (Server 2008). Không có chương trình nào khác ngoài các bản cập nhật Windows đã được cài đặt trên DC, cả hai máy chủ đều tiêu tốn 15 GB dung lượng trong WinSXS. Máy chủ lưu trữ đã được HP cài đặt sẵn với 40 GB trên C:, vì vậy tôi cũng đang gặp phải vấn đề này. Xuống tới 5GB dung lượng trống.

Điều này đã được khắc phục trong Windows 8 / Server 2013 bằng cách sử dụng DISM để dọn dẹp các bản cập nhật được thay thế (dỡ bỏ 2008.


3

Trong Windows Server 2008 R2, bạn có thể sử dụng DISM để dọn sạch WinSxS, tất nhiên bạn sẽ không thể khôi phục các bản cập nhật sau khi bạn làm điều này. Đây là một lời giải thích: http://www.sqlskills.com/bloss/glenn/how-to-reclaim-disk-space-in-your-windowswinsxs-directory-on-windows-server-2008-r2-sp1/

Tóm lại, bạn cần chạy lệnh sau với tư cách quản trị viên:

DISM.exe /online /Cleanup-Image /spsuperseded

Tôi biết đây có thể không phải là giải pháp phù hợp với bạn vì bạn có Windows Server 2008 (không phải R2), nhưng tôi đã tìm thấy câu hỏi này khi tìm kiếm giải pháp cho R2 vì vậy nó có thể hữu ích cho một số người.


việc này chỉ xóa các tệp sp1 trước, không xóa các tệp từ hotfix đến sau.
Hubert Kario

1

Một vài gợi ý:

  • Tập tin hoán đổi của bạn ở đâu?

  • Cài đặt máy kiểm tra với cùng một phần mềm để xem bạn có thể sao chép sự cố không. Điều này chắc chắn là không bình thường, và điều duy nhất tôi có thể nghĩ là một cái gì đó trên hộp đó liên tục sửa đổi một DLL (hoặc một cái gì đó tương tự) và vì vậy Windows liên tục tạo bản sao lưu của nó.

15GB là rất ít cho cài đặt Windows 2008 - ổ C: tiêu chuẩn của tôi cho các bản dựng Windows 2008 là 60GB.


15 GB là kích thước của gói nhà cung cấp dịch vụ lưu trữ ảo và mọi tiện ích mở rộng (chúng tôi bắt đầu ở mức 10 GB) đều rất đắt. Đó cũng là lý do tại sao tôi không thể di chuyển tệp hoán đổi bất cứ nơi nào khác.
Pekka hỗ trợ GoFundMonica

Ồ tôi quên mất: Vì lý do tương tự, sao chép máy không dễ thực hiện. Nó sẽ là phương sách cuối cùng trừ khi mọi thứ khác hoạt động.
Pekka hỗ trợ GoFundMonica

Vì vậy, thay đổi nhà cung cấp.
TomTom


1

Yêu cầu hệ thống do Microsoft cung cấp cho Server 2008 là "Dung lượng ổ đĩa: Tối thiểu 32Gb trở lên".

http://www.microsoft.com/windowsserver2008/en/us/system-requirements.aspx

Tại sao bạn nghĩ rằng nó có thể chạy thoải mái trong một nửa không gian đó?


Tôi đang thuê một giải pháp VPS từ một nhà cung cấp dịch vụ lưu trữ lớn ban đầu là gói 10 GB với Máy chủ 2008 được cài đặt sẵn. Tôi cho rằng họ phải cung cấp cho điều này bằng cách nào đó. Các nhà cung cấp lớn có các gói Windows 10GB hoặc 20GB: Xem ví dụ bit.ly/h0AZsP . Tôi được nhà cung cấp thông báo rằng trường hợp của tôi là một trường hợp kỳ quặc
Pekka hỗ trợ GoFundMonica

Lỗi của tôi, tôi đã liên kết với các yêu cầu của Server 2008 R2 SP1. Máy chủ 2008 yêu cầu tối thiểu 8Gb - microsoft.com/latam/windowsserver2008/sysreqs.mspx - nhưng vẫn khuyến nghị 40Gb.
TessellatingHeckler

Cảm ơn các liên kết. Tuy nhiên, thể hệ điều hành đã được nâng cấp ở giữa - Tôi sẽ điều tra
Pekka hỗ trợ GoFundMonica

0

Một tùy chọn để sử dụng - nếu đó chỉ là một VPS cũ giá rẻ mà bạn sử dụng cho những việc đơn giản, thì đáng để cho phép nén NTFS trên đĩa hoặc các thư mục cụ thể:

Điều này có thể vắt một số không gian ra khỏi ổ đĩa. Các bài báo nói rằng nó dành cho XP nhưng đó là các bước tương tự trên Win7 / 2008:


0

Tôi đã gặp vấn đề tương tự. Chắc chắn WinSx là một phần đáng trách ... Nhưng tôi nghĩ vấn đề này một phần là do các công cụ như WinDirStat đếm kích thước của các tệp và các mối nối với các tệp theo cùng một cách. Một đường nối chỉ là một con trỏ tới tệp, không phải là một bản sao tắt tất cả các khối tạo nên tệp.

Tôi đã thấy rằng VSS là thủ phạm lớn hơn trong vấn đề này. Sử dụng các lệnh sau để xem VSS có chiếm quá nhiều dung lượng ổ đĩa của bạn không, lấy lại dung lượng đó hoặc đặt giới hạn nhỏ hơn:

danh sách bóng tối vssadmin

vssadmin Xóa ShadowStorage / For = C: / On = C:

vssadmin Thay đổi kích thước ShadowStorage / For = C: / On = C: / MaxSize = 20%

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.