GNU/Linux >> Belajar Linux >  >> Linux

Diagnostik disk rendah Windows

Catatan: Saat menjalankan skrip dalam artikel ini, pastikan untuk membuka PowerShell® sebagai administrator.

Periksa penggunaan disk Anda saat ini dengan PowerShell

Saat Anda mendiagnosis ruang disk rendah di server Windows®, mulailah dengan memverifikasi penggunaan saat ini pada disk Anda dengan menggunakan PowerShell. Gunakan perintah berikut untuk menarik penggunaan disk saat ini untuk semua disk di server:

Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DriveType -eq "3" } | Select-Object SystemName,
      @{ Name = "Drive" ; Expression = { ( $_.DeviceID ) } },
      @{ Name = "Size (GB)" ; Expression = {"{0:N1}" -f( $_.Size / 1gb)}},
      @{ Name = "FreeSpace (GB)" ; Expression = {"{0:N1}" -f( $_.Freespace / 1gb ) } },
      @{ Name = "PercentFree" ; Expression = {"{0:P1}" -f( $_.FreeSpace / $_.Size ) } } |
      Format-Table -AutoSize | Out-String

Periksa 15 folder teratas berdasarkan volume

Setelah Anda menentukan volume yang rendah pada ruang disk, jalankan skrip berikut untuk menentukan folder teratas berdasarkan penggunaan disk sehingga Anda dapat menentukan di mana Anda dapat mengosongkan ruang:

cd \
$Table = Get-WmiObject Win32_Volume -ComputerName LocalHost `
| Format-Table Name, `
@{Name="Size(MB)";Expression={"{0:0,0.00}" -f($_.Capacity/1mb)}}, `
@{Name="Free Space(MB)";Expression={"{0:0,0.00}" -f($_.FreeSpace/1mb)}}, `
@{Name="Free (%)";Expression={"{0,6:P0}" -f(($_.FreeSpace/1mb) / ($_.Capacity/1mb))}};
$Table;$input = Read-Host -Prompt 'Input path to traverse'; Set-Location $Input;
function Get-LowDisk($maxResults=15, $startLocation=(Get-Location)){
  if("$startLocation".EndsWith("\")){$startLocation = "$startLocation".TrimEnd("\")}
  function Calc-Directories ($startFolder, $foldersHT=@{}, $depth=1){    $itemSum = 0L;
    if($startFolder -notmatch "c\:\\Windows|System Volume Information"){
        $dirList = Get-ChildItem ($startFolder) -force
        $folders = $dirList | Where-Object {$_.PSIsContainer -eq $True} | Where {($_.attributes.toString() -like "*ReparsePoint*") -eq $False};
        $files   = $dirList | Where-Object {!$_.PSIsContainer -eq $True};      if($files){$itemSum = ($files | Measure-Object -property length -sum).sum;}
        if(!$folders.Count -and $folders -ne $null){
            $subFolder = "$startFolder\" + $folders;
            $itemSum += Calc-Directories "$subFolder" $foldersHT ($depth+1);
        }else{
            for ($i=0;$i -lt $folders.Count; $i++ ){
                $subFolder = "$startFolder\" + $folders[$i].Name;
                if($depth -le 1){ Write-Progress -Activity "Finding Largest Folders" -status ":: Top Level Folders Progress :: $subFolder"-percentComplete ($i / $folders.count*100) -Id 1;}
                $itemSum += Calc-Directories "$subFolder" $foldersHT ($depth+1);
        }   }
        }elseif($startFolder -match "c\:\\Windows"){$itemsum=(Get-ChildItem C:\Windows -force -Recurse -ErrorAction     SilentlyContinue | Measure-Object -property length -sum).sum;}
      $foldersHT[$startFolder] = $itemSum;
      return $itemSum;
    }
    $elapsed = [System.Diagnostics.Stopwatch]::StartNew();
    $resultsHT = @{}; Calc-Directories $startLocation $resultsHT | Out-Null;
    $formattedOutput = $resultsHT.GetEnumerator() | sort value -desc | select -First $maxResults | Format-Table -AutoSize @{Expression={$_.Name};Label="Folder Name"}, @{Expression={($_.Value / 1GB)};Label="Size (GB)";Format="{0:N2}"};
    write-host "`r`n`r`n-- Total Disk Scan Time: $($elapsed.Elapsed.ToString()) --";
    $Table;
    write-host "`r`n-----------`r`nTop $maxResults folders by size`r`n-----------" -foregroundcolor "yellow";
    return $formattedOutput;
} Get-LowDisk 15 ;

Setelah Anda menjalankan skrip, sebuah pesan meminta Anda untuk Masukkan jalur yang akan dilintasi . Ketik huruf drive yang Anda temukan dengan menggunakan skrip sebelumnya dan tekan Enter untuk melanjutkan.

Ingatlah bahwa proses ini dapat memakan waktu cukup lama tergantung pada jumlah file dan folder pada disk. Setelah skrip mengembalikan hasil, periksa folder yang terdaftar untuk melihat apakah ada file yang tidak diperlukan lagi. Hapus file tersebut untuk mengosongkan ruang disk.

Peringatan: Pastikan untuk menghapus hanya file atau folder yang Anda kenal. Jika Anda menghapus file atau folder yang tidak dikenal, Anda mungkin kehilangan file atau perangkat lunak sistem yang penting. Kehilangan ini dapat menyebabkan server atau perangkat lunak menjadi tidak berfungsi.


Linux
  1. Mengaktifkan TLS 1.2 di Server Windows

  2. Instal Nginx di Windows

  3. Instal python-novaclient di Windows

  1. Login Windows lambat

  2. pengganti fcntl di Windows

  3. windows setara dengan inet_aton

  1. 10 ALASAN MENGUBAH WINDOWS 10 KE LINUX

  2. Lampirkan Ke Windows yang Berbeda Dalam Sesi?

  3. Cara menginstal InfluxDB di Windows