Saya menjalankan Server virtual (yang di-host dari jarak jauh) dengan Windows 2008 Server untuk klien. Awalnya, memiliki ruang 10 GB. Selama beberapa minggu - di mana tidak ada yang dilakukan pada mesin kecuali pekerjaan normal menggunakan sistem icket berbasis web -, Windows mulai mengisi direktori "winxs" yang terkenal sehingga pada akhirnya, hard disk adalah penuh dan kami harus memesan 5 GB lagi. Sekarang, tiga minggu kemudian, 5 GB ini telah dikonsumsi oleh winx juga, dan sekali lagi saya tidak dapat bekerja pada mesin. Winsxs sekarang 8 GB besar, sisa direktori windows 5 GB.
Saya telah menemukan berbagai sumber di web yang menggambarkan masalah yang sama. Tampaknya, Windows 2008 menyimpan semua versi bahasa untuk semua DLL yang diunduh dalam proses pembaruan normal. Hanya menghapus hal-hal yang digambarkan berbahaya karena mengandung komponen-komponen vital. Saya belum menemukan alat atau instruksi apa pun untuk mengidentifikasi dan menghapus file-file yang tidak lagi diperlukan.
Apa yang dapat saya? Apakah ini perilaku normal dan jika ya, bagaimana server lain dengan ruang yang sama terbatas mengelola? Apakah ada sesuatu yang bisa saya matikan atau nyalakan?
Dari peran server yang ditentukan sebelumnya, hanya "Layanan file" (atau apa pun namanya dalam bahasa Inggris, ini server swiss) diaktifkan. Selain itu, saya telah menginstal Apache, mySQL, dan Subversion. Pembaruan otomatis diaktifkan.
Sunting: Masalahnya masih ada.
Catatan: Saya sadar bahwa direktori WinSXS terutama terdiri dari symlink dan bahwa pengguna sering panik melihat ukurannya. Namun, Dari ruang 15 GB, saya memiliki 1,5 MB yang digunakan oleh program dan data, dan tidak ada yang tersisa. Aku senang bisa mengakses mesin sialan itu. * Saya sudah membebaskan 1 GB data, yang diisi oleh windows Windows dalam waktu 24 jam. Ini seperti dalam film horor. Apa yang saya coba:
- Menginstal SP2 (yang datang dengan compcln.exe) bukanlah suatu pilihan, karena ruang disk tidak cukup untuk itu.
- Tidak ada vsp1clean.exe di mesin, mungkin karena SP1 telah bergabung ke dalam sistem. Bahkan, tidak ada file bernama * cln.exe di mana pun.
- Tidak ada salinan bayangan. Salinan bayangan tidak aktif.
- Sejauh yang saya tahu, tidak ada titik pemulihan sistem aktif.
- Satu-satunya peran server yang diaktifkan adalah "server file".
- Fungsi "pembersihan" standar (klik kanan pada drive C:) menawari saya 2 MB isi sampah yang membingungkan dan file internet sementara.
- Menggunakan salah satu skrip "cleanup winsxs" di sekitar bukanlah pilihan bagi saya, mereka semua terlihat terlalu teduh. Saya tidak dapat menemukan apa pun secara langsung dari Microsoft untuk mengatasi masalah ini.
sumber
Jawaban:
Direktori WinSxS hampir tidak memakan ruang yang dilaporkan oleh Explorer karena menggunakan Hard Links ke file fisik, bukan file aktual. Explorer hanya memiliki masalah pelaporan ukuran tautan keras.
Artikel tentang Ruang Disk ini (dirujuk di sini http://aspoc.net/archives/2008/11/20/winsxs-disk-space-and-windows-7/ ) memiliki penjelasan yang bagus tentang direktori WinSxS.
Mengenai masalah penggunaan disk Anda yang sebenarnya - Anda dapat mencoba menjalankan COMPCLN.EXE untuk melihat apakah Anda dapat membersihkan paket layanan lama dan file perbaikan panas, yang seharusnya cukup membantu. Saya juga akan melihat direktori logging untuk melihat apakah ada sesuatu yang terjadi.
sumber
Saya berada di kapal yang sama dengan Anda. Saya memiliki 5 VM 2008 baru dan saya menonton mereka terus membutuhkan lebih banyak ruang disk selama setahun terakhir. Biarkan saya ilustrasikan dengan windrstat.
Berikut tangkapan layar dari server 2008 yang benar-benar baru :
3,8 GB direktori winx
Sekarang, inilah tangkapan layar dari server produksi 2008 :
5.4GB direktori winxs
Akhirnya tangkapan layar server 2008R2 yang benar-benar baru : direktori winx 5.4GB
Dari apa yang bisa saya katakan, tidak ada cara untuk memotong direktori winxs. WinSxS adalah singkatan dari Windows Side-by-Side. Dalam upaya mereka untuk mengurangi efek DLL neraka (yaitu Ketergantungan) Microsoft memutuskan untuk menjaga setiap versi setiap DLL yang pernah diinstal pada sistem Anda di direktori winsxs.
Ini berarti dua hal (saya pikir):
Meskipun ada beberapa tautan keras di winxs, satu-satunya tautan keras harus dari tautan DLL saat ini. Dengan kata lain, DLL saat ini yang aktif dalam sistem di-hardlink kembali ke folder winxs ini.
Semua versi DLL sebelumnya masih tersedia, dan dicadangkan di direktori winxs. Seperti yang dapat Anda lihat di semua contoh, jika direktori winxs benar-benar "sebagian besar tautan keras" tidak akan ada cara yang bisa menghabiskan lebih dari 50% dari penggunaan disk Anda saat ini. Sekarang bahkan jika memang benar bahwa direktori winxs adalah "sebagian besar hardlink", penggunaan 50% akan berarti seluruh drive C: Anda di-hardlink kembali ke direktori winxs.
Saya mencoba segalanya. Menghapus file lama, menghapus instalan patch, menghapus direktori "$" patch. Segala sesuatu.
Akhirnya saya akhirnya menumbuhkan semua partisi C: di semua server saya masing-masing menjadi 30GB. Ini hanya akan menjadi perbaikan sementara, karena direktori winxs akan terus tumbuh. Kabar baiknya, karena versi terbaru NTFS memungkinkan Anda untuk menumbuhkan partisi Anda tanpa harus reboot. Alangkah nyaman.
WinSxS bukan hanya direktori yang menjengkelkan, ini adalah metodologi baru untuk semua pengembang Windows. WinSxS tidak akan pergi dalam waktu dekat. Pengembang menggunakan WinSxS dan bergantung padanya untuk berada di sana sampai metodologi baru pengarsipan DLL atau resolusi dependensi menjadi tersedia.
Pada setiap kotak windows 2008/7 / Vista baru saya merasa bahwa 30GB C: hampir benar. Cukup ruang (untuk saat ini) untuk tambalan, log, dan beberapa aplikasi.
Saya tidak bisa menunggu sampai seseorang mengetahui semua ini dan mulai mengaktifkan kembali DLL pre-patch dengan manifes jahat , yang menjadi vektor serangan / eksploitasi.
sumber
15 GB tidak akan memotongnya dalam pengalaman saya, terutama jika itu adalah mesin 64 bit dengan beberapa aktivitas ...
Memperluas disk VPS dan kemudian partisi sistem harus mudah tanpa harus menginstal ulang apa pun, betapapun mahalnya. Menawarkan disk sistem kurang dari 60GB untuk Windows Server VPS modern tampaknya tidak dipikirkan sejak awal bahkan jika ~ 30GB dapat memotongnya untuk sementara waktu: 7
Pergi untuk menginstal 32 bit akan menghapus sedikit overhead, dan pergi untuk Server Core akan menghapus banyak. Server file 32 bit Server 2008 Core saya yang menjalankan svnserve, dfs, print serve dan sebagainya dan diperbarui secara teratur adalah sekitar 5 GB ... sedangkan 64 bit Server 2008 Standar saya yang melayani aplikasi web (asp.net dan php menggunakan IIS) membutuhkan 30 GB sekarang. Kedua metrik ini tidak termasuk penyimpanan data / partisi tentu saja, hanya sistem Windows, dan keduanya hanya contoh saya memiliki 64 bit Server 2008 disk sistem yang membutuhkan apa pun dari 10 hingga 35 GB saat ini.
Setiap alat, pemutakhiran atau aplikasi yang Anda instal akan menumbuhkan direktori winxs dan menghapus instalan hal-hal tidak akan selalu berdampak pada winxs karena sistem mungkin berpikir dependensi tersebut digunakan oleh alat lain.
sumber
Ini mungkin sudah terlambat untuk Anda, dan hanya berdasarkan pengalaman Vista, tetapi:
'Obat' saya setelah gagal menemukan jawaban yang memuaskan adalah dengan brutal menghapus folder terbesar (dan tidak diinginkan), misalnya:
Dengan asumsi Anda mulai dengan cadangan (gambar) yang bagus, coba dan lihat!
sumber
Jika memungkinkan, Anda bisa mencoba memindahkan WinSXS ke partisi lain sebagai solusinya. Setahu saya tidak ada cara untuk menyingkirkan konten WinSXS. Benda kecil yang lucu ini berada di jantung operasi Vista / Win2008, jadi ... Saya belum pernah mendengar yang lebih baik daripada memindahkannya ke partisi lain.
Berikut ini tautan ke blog yang menjelaskan cara melakukannya: Klik
Saya sarankan Anda melakukan full backup (bahkan lebih baik: gambar) dari seluruh partisi C: Anda sebelum mencoba prosedurnya. Pikiran Anda bahwa saya mencoba ini hanya pada Vista, bukan pada Win2008 Server.
sumber
Jika penyebab utamanya adalah WindowsUpdate, maka saya akan mengatakan satu-satunya alternatif Anda untuk membeli lebih banyak ruang atau melakukan operasi file sistem adalah membatasi pertumbuhan yang disebabkan oleh pembaruan memicu-bahagia Microsoft.
Karena Anda terutama menggunakan platform aplikasi non-Microsoft, Anda mungkin dapat melakukannya tanpa 90-95% pembaruan "penting" ditekan.
Dengan demikian, yang dapat Anda lakukan adalah menonaktifkan pembaruan otomatis dan kemudian sangat selektif tentang pembaruan "penting" mana yang akan diterapkan. Hanya terapkan yang menambal kerentanan yang secara langsung membahayakan rencana keamanan Anda. Sebagian besar pembaruan "penting" mungkin tidak berlaku untuk skenario keamanan Anda, dan jika itu Anda lakukan, Anda mungkin dapat memodifikasi rencana keamanan Anda untuk melakukannya tanpa mereka (mis. Jangan menggunakan IE di server, gunakan layanan file alternatif, kencangkan keamanan jaringan) .
sumber
Jika WinDirStat dan OS itu sendiri (lihat saja di bawah My Computer) melaporkan jumlah ruang yang sama yang digunakan, tidak sopan jika salah menghitung ukurannya sebagai tautan keras. Jika OS mengira Anda kehabisan ruang - ANDA LUAR RUANG.
Saya memiliki masalah ini di Storage Server 2008 dan DC (Server 2008). Tidak ada program lain selain pembaruan Windows yang telah diinstal pada DC, kedua server mengkonsumsi ruang 15GB di bawah WinSXS. Server Penyimpanan sudah diinstal sebelumnya oleh HP dengan 40GB pada C :, jadi saya juga menderita masalah ini. Ruang kosong hingga 5GB.
Ini diperbaiki pada Windows 8 / Server 2013 dengan menggunakan DISM untuk membersihkan pembaruan yang digantikan (dism.exe / online / cleanup-image / startcomponentcleanup) jadi jelas ini adalah masalah yang mereka akui, sayangnya tanpa perbaikan selain untuk meningkatkan bagi mereka yang terjebak dengan 2008
sumber
Di Windows Server 2008 R2 Anda dapat menggunakan DISM untuk membersihkan WinSxS, tentu saja Anda tidak akan dapat memutar kembali pembaruan setelah Anda melakukan ini. Berikut penjelasannya: http://www.sqlskills.com/blogs/glenn/how-to-reclaim-disk-space-in-yind-windowswinsxs-directory-on-windows-server-2008-r2-sp1/
Singkatnya, Anda perlu menjalankan perintah berikut sebagai administrator:
Saya tahu ini mungkin bukan solusi yang relevan untuk Anda karena Anda memiliki Windows Server 2008 (bukan R2 tampaknya), tetapi saya menemukan pertanyaan ini ketika mencari solusi untuk R2 sehingga mungkin berguna bagi sebagian orang.
sumber
Beberapa saran:
Di mana file swap Anda?
Siapkan mesin uji dengan perangkat lunak yang sama untuk melihat apakah Anda dapat mereplikasi masalah. Ini jelas tidak normal, dan satu-satunya hal yang dapat saya pikirkan adalah bahwa sesuatu pada kotak itu terus-menerus memodifikasi DLL (atau sesuatu seperti itu) dan dengan demikian Windows terus-menerus membuat cadangannya.
15GB sangat rendah untuk instalasi Windows 2008 - drive C: standar saya untuk Windows 2008 adalah 60GB.
sumber
http://tech.xlab.si/2009/07/move-winsxs-folder/
Menemukan artikel ini tetapi tidak pernah mencobanya .. sepertinya ada cara untuk berpindah folder winxs. jika nyone dapat mencoba ini silakan pergi thrugh dan beri tahu saya
sumber
Persyaratan Sistem yang diberikan Microsoft untuk Server 2008 adalah "Ruang disk: Minimum 32Gb atau lebih besar".
http://www.microsoft.com/windowsserver2008/en/us/system-requirements.aspx
Menurut Anda mengapa itu bisa berjalan dengan nyaman di setengah ruang itu?
sumber
Satu opsi untuk digunakan - jika itu hanya VPS lama yang murah yang Anda gunakan untuk hal-hal sederhana, maka ada baiknya mengaktifkan kompresi NTFS pada disk atau folder tertentu:
Ini mungkin memeras beberapa ruang dari drive. Artikel mengatakan untuk XP tetapi langkah-langkah yang sama pada Win7 / 2008:
Cara Menggunakan Kompresi File
sumber
Saya mengalami masalah yang sama. Tentunya WinSxs sebagian harus disalahkan ... Tapi saya pikir masalahnya sebagian karena alat seperti WinDirStat menghitung ukuran file dan persimpangan ke file dengan cara yang sama. Persimpangan hanyalah penunjuk ke file, bukan duplikat dari semua blok yang membentuk file.
Saya telah menemukan bahwa VSS adalah penyebab yang lebih besar dalam masalah ini. Gunakan perintah berikut untuk melihat apakah VSS menghabiskan terlalu banyak ruang disk Anda, merebut kembali ruang itu, atau menetapkan batas yang lebih kecil:
vssadmin daftar shadowstorage
vssadmin Hapus ShadowStorage / For = C: / On = C:
vssadmin Ubah Ukuran ShadowStorage / For = C: / On = C: / MaxSize = 20%
sumber