限制IIS站點的記憶體,避免級聯影響

2022-01-20 09:27:19 字數 910 閱讀 2360

**寫的有問題,會很容易出現記憶體洩露的問題。

應用如果是部署在docker容器裡面的,可以限制這個應用的記憶體。

那麼,如果是傳統的.net framework應用,部署在iis上面呢?

老黃曾經遇到過在一台伺服器上面,iis部署了五六個站點。

其中乙個站點,占用了 5、6g 的記憶體,然而伺服器只有8g的記憶體,甚至胡時候會把其他一兩個站點的應用程式池逼停了。

想想就可怕,資源的隔離沒有做好,導致其他應用也受到了影響。

其實對iis來說,還是可以對站點做限制的。

應用程式池中,有兩個關於記憶體的配置:

虛擬記憶體限制(kb)

專用記憶體限制(kb)

虛擬記憶體限制指的是,工作程序可以使用的最大虛擬記憶體量,超過這個記憶體量就會導致應用程式池**。預設值是0,表示不限制。

專用記憶體限制指的是,工作程序可以使用的最大專用記憶體量,超過這個記憶體量就會導致應用程式池**。預設值是0,表示不限制。

正常來說,我們常說的,應用占用了多少記憶體其實說的就是這個專用記憶體。

我們開啟的任務管理器,上面看到的記憶體,也是專用工作集。

所以針對這上面說的情況,我們只要限制這個程式池的專用記憶體限制即可。

好比說限制為100mb,就把專用記憶體限制填102400。

當應用的記憶體達到這個限制的時候,它會重新拉起乙個程序,然後把老的程序kill掉。

可以通過事件檢視器捕獲到對應的事件。

這樣就可以在一定程度上緩解多個應用之間互相影響。

當然最終的解決辦法還是要把記憶體洩露的bug處理掉。

限制單個站點記憶體使用大小

好吧才知道怎麼限制單個站點使用系統記憶體大小,為什麼要限制呢?想一想乙個伺服器上放置100個站點其他站點都是占用記憶體60m而乙個站點竟然占用200m,是不是該限制一下呢?1 woiit.net 站點占用記憶體200m左右,比其他站點多了1倍多。2 開啟iis資訊服務管理器,再依次選中 woiit....

2008系統的iis站點問題

今天需要在一台2008 伺服器上的 資料遷移到另外一台新的2008 伺服器上 我在linux centos上臨時搭建了乙個ftp伺服器,用來它們之間傳輸資料的,作為乙個中介 把 原始檔上傳到了新的伺服器上,發現asp字尾的程式檔案都沒有字尾名了,由於對2008系統不太熟練 開始我以為我的ftp有問題...

限制mongodb記憶體的使用

預設情況下,mongodb占用的記憶體大小為 starting in 3.4,the wiredtiger internal cache,by default,will use the larger of either 50 of ram minus 1 gb,or 256 mb.即 總記憶體 50...