Saya penggunaan CPU 100% sebagian besar waktu di Windows Server 2008 R2 dengan saya sendiri vps, vmware, quad core, dan Ram 4GB. Ketika saya membuka windows Task Manager dan pergi ke sumber daya monitor saya melihat bahwa penggunaan 100% adalah karena workerprocess.exe
. Saya memiliki 3 website saya di IIS.
Saya telah menginstal eset-nod32 di vps saya, tapi itu doesn't menunjukkan serangan di log. I've mencoba mencari tentang IIS dan mencegah DDOS, dan hanya menemukan sebuah ekstensi untuk melarang alamat IP, tetapi bagaimana saya dapat menemukan alamat IP mana yang menghasilkan lalu lintas?
Situs web yang ditulis dalam ASP.NET
dan C#
. Bagaimana saya bisa menentukan apa yang terjadi pada situs-situs tersebut dan yang baris kode yang menyebabkan cpu usage?
Juga, salah satu situs web saya harus akses administrator's desktop dan membaca dan menulis beberapa file. Jadi karena itu saya berubah penerapannya renang -> identitas (Model Proses) untuk sistem lokal, dan saya don't tahu apakah itu terkait dengan penggunaan CPU atau tidak.
Dalam hal mendiagnosis apa yang Pool Aplikasi yang menyebabkan masalah, anda dapat:
Ini harus memunculkan menu seperti ini agar anda dapat menentukan Aplikasi mana yang Outdoor adalah amuk.
Dari sana anda hanya dapat me-restart aplikasi outdoor dan 9 kali dari 10 yang akan memperbaiki setiap masalah mendesak anda're memiliki.
Kecuali jika anda menjalankan semacam kontroversial bisnis, ini mungkin bukan serangan DDOS. It's kemungkinan bahwa beberapa kode hanya menggantung karena tidak't mendapatkan melalui ke server lain atau terjebak dalam satu lingkaran atau mis-alokasi sumber daya atau aplikasi outdoor sudah't telah didaur ulang sementara.
Anda dapat menangani masalah ini secara sistematis tanpa harus secara manual mengidentifikasi, log in, dan recycle aplikasi outdoor. Hanya mengkonfigurasi CPU properti pada Aplikasi Outdoor. Anda dapat memiliki itu membunuh (dan secara otomatis restart) proses anda kapan saja anda mencapai CPU ambang batas untuk jumlah waktu tertentu.
Dalam kasus anda, jika anda ingin me-restart pada 80%, anda dapat klik kanan pada aplikasi outdoor dan pergi ke Pengaturan Lanjutan dan menerapkan konfigurasi berikut:
CATATAN: Sebagai kraken101 kemukakan, berbeda IIS Gui telah memperlakukan ini berbeda dari waktu ke waktu. Sementara config nilai selalu di 1/1000 dari %, kadang-kadang GUI mengambil seluruh persen.
Anda dapat menambahkan ini ke konfigurasi bagian seperti ini:
<applicationPools>
<add name="DefaultAppPool">
<cpu limit="80000" action="KillW3wp" resetInterval="00:01:00" />
</add>
</applicationPools>
Atau, anda bisa script itu dengan Powershell's WebAdministration Modul seperti ini: (*pastikan web scripting-alat diaktifkan)
Import-Module WebAdministration
$appPoolName = "DefaultAppPool"
$appPool = Get-Item "IIS:\AppPools\$appPoolName"
$appPool.cpu.limit = 80000
$appPool.cpu.action = "KillW3wp"
$appPool.cpu.resetInterval = "00:01:00"
$appPool | Set-Item
Langkah-langkah di atas akan membantu memperbaiki beberapa hal setelah mereka've rusak, tapi tidak't benar-benar memecahkan masalah yang mendasari yang anda miliki.
Berikut ini adalah beberapa sumber daya untuk melakukan pemantauan kinerja:
Nah, ini bisa memakan waktu yang lama untuk mencari tahu. Beberapa poin untuk mempersempit bawah:
Ada banyak alasan bahwa anda dapat melihat w3wp.exe penggunaan CPU yang tinggi. Saya telah memilih enam penyebab umum untuk menutupi.
Saya menghadapi masalah yang sama baru-baru ini dan menemukan solusi yang bekerja untuk saya dan mengurangi konsumsi memori upto tingkat sebagian besar.
Solusi:
Pertama-tama menemukan aplikasi yang menyebabkan berat penggunaan memori.
Anda dapat menemukan ini di bagian Rincian Tugas Manajer.
Berikutnya.
Jika solusi ini bekerja untuk anda, silakan tambahkan komentar sehingga saya bisa tahu.
Jika hal ini tidak perlu mematikan 'Mengaktifkan Aplikasi 32-bit' dari masing-masing pool aplikasi dari situs web anda.
Ini bekerja untuk saya pada mesin lokal
Saya baru-baru ini masalah saya sendiri, dan setelah saya bertekad yang AppPool menyebabkan masalah, satu-satunya cara untuk menyelesaikan masalah adalah menghapus aplikasi yang ada kolam renang completly dan membuat yang baru untuk situs yang menggunakan.