一,內(nèi)存泄漏。
當(dāng)在子程序中分配內(nèi)存時(shí),通常會(huì)出現(xiàn)這個(gè)問題。因此,當(dāng)程序從子程序返回時(shí),內(nèi)存不會(huì)被釋放。因此,對(duì)分配內(nèi)存的引用將會(huì)丟失,只要操作系統(tǒng)還在運(yùn)行,進(jìn)程就會(huì)直接使用內(nèi)存。
二,C指針錯(cuò)誤。
用C或C++編寫的程序,如Web服務(wù)器API模塊,可能會(huì)導(dǎo)致系統(tǒng)崩潰,因?yàn)橹灰g接指針出現(xiàn)錯(cuò)誤,所有程序都會(huì)被操作系統(tǒng)終止。另外,C指針不好的Java模擬會(huì)訪問一個(gè)空的對(duì)象引用。
三,數(shù)據(jù)庫(kù)中的臨時(shí)表不夠。
在許多數(shù)據(jù)庫(kù)中,臨時(shí)表的數(shù)量是固定的,臨時(shí)表是用于保留查詢結(jié)果的內(nèi)存區(qū)域。在臨時(shí)表中的所有數(shù)據(jù)被讀取后,臨時(shí)表將被釋放,但是大量的同時(shí)查詢可能會(huì)耗盡所有具有固定數(shù)量的臨時(shí)表。此時(shí),其他查詢需要排隊(duì)等待,直到臨時(shí)表被釋放。
四,線程死鎖。
多線程帶來的性能提升是以可靠性為代價(jià)的,主要是因?yàn)榭赡軐?dǎo)致線程死鎖。當(dāng)線程死鎖時(shí),一個(gè)線程等待第二個(gè)線程釋放資源,而第二個(gè)線程等待前一個(gè)線程釋放資源。
五、磁盤已滿。
系統(tǒng)故障的最可能原因是磁盤已滿。一個(gè)好的網(wǎng)絡(luò)管理員會(huì)密切關(guān)注磁盤的使用情況,需要定期將磁盤上的一些負(fù)載轉(zhuǎn)移到備份存儲(chǔ)介質(zhì)上。
六,服務(wù)器過載。
網(wǎng)景網(wǎng)絡(luò)服務(wù)器為每個(gè)連接使用一個(gè)線程。網(wǎng)景企業(yè)網(wǎng)絡(luò)服務(wù)器在線程用完后掛起,并且不為現(xiàn)有連接提供任何服務(wù)。
文章及圖片來源網(wǎng)絡(luò)
版權(quán)歸原作者所有
如涉及版權(quán)問題請(qǐng)及時(shí)聯(lián)系我們處理,謝謝!