站長都特別怕服務器崩潰。服務器一旦崩潰輕則影響用戶一時的瀏覽,重則丟失數(shù)據(jù)。那么今天和來一起看看服務器崩潰的原因有哪些吧?了解這些原因,才能更好的在日常工作中維護服務器,防止服務器出現(xiàn)問題,為網(wǎng)站帶來損失。
一、內(nèi)存泄漏
C或者C++程序有可能會產(chǎn)生一個指針問題:丟失對已分配內(nèi)存的引用。
當在子程序中分配內(nèi)存時,通常會出現(xiàn)丟失對已分配的內(nèi)存引用的這種問題,如此就會使程序從子程序中返回時不能釋放內(nèi)存,導致只要操作的系統(tǒng)還在運行,那么進程就會一直使用這個內(nèi)存,其結果就是占用更多內(nèi)存的程序會降低系統(tǒng)的性能,一直到機器完全徹底的停止工作,才會讓內(nèi)存得到清空。
二、c指針錯誤
用c或者c++編寫的程序,只要間接引用指針(即訪問了指向的內(nèi)存)中出現(xiàn)的一個錯誤,就會讓操作系統(tǒng)中所有的程序終止,因此用c或者c++編寫的程序也有可能會讓系統(tǒng)崩潰。
此外,如果用了不好的C指針的java模擬量(analog)就會訪問一個空白的對象引用。雖然Java中的空引用不會立刻導致從jvm中退出,但是使用java對可靠性進行額外的度量則是對系統(tǒng)的性能帶來一些負面影響。
三、數(shù)據(jù)庫中的臨時表不夠用
臨時表是保留查詢結果的內(nèi)存區(qū)域,在數(shù)據(jù)庫中,臨時表的數(shù)量一般都是固定的。當臨時表中的數(shù)據(jù)被讀取后,臨時表就會得到釋放,但是如果同時進行查詢的量太多,就可能會耗盡臨時表的數(shù)量,因此,其他查詢的就需要排隊等候,知道有被釋放的臨時表出現(xiàn),才會繼續(xù)運行。
四、線程死鎖
線程死鎖一般有四個產(chǎn)生的條件。1、互斥:進程在某一時間內(nèi)獨占資源;2、請求與保持條件:一個進程因請求資源而阻塞時,對已獲得的資源保持不放;3、不剝奪條件:進程已經(jīng)獲得了資源,在末使用完之前,不能強行剝奪;4、循環(huán)等待條件:若干進程之間形成一種頭尾相接的循環(huán)等待資源關系。
發(fā)生線程死鎖后就會導致兩個線程同時申請對方的鎖,雙方阻塞在一起,從而讓系統(tǒng)出現(xiàn)問題。
五、磁盤已滿
磁盤已滿也是導致系統(tǒng)無法正常運行的其中一個原因。為了避免因此導致系統(tǒng)崩潰,網(wǎng)絡管理員需要時刻關注磁盤的使用情況,每過一段時間就把磁盤上的負載轉存到備份存儲介質中(比如磁盤)。
因為日志文件對磁盤空間的占用比較嚴重,因此Web服務器的日志文件、SQL*Net的日志文件、 JDBC日志文件,以及應用程序服務器日志文件均與內(nèi)存泄漏有同等的危害,所以網(wǎng)絡管理員可以把日志文件保存到與操作系統(tǒng)不同的文件系統(tǒng)中。
六、服務器超載
Netscape Web服務器的每個連接都使用一個線程。Netscape Enterprise Web服務器會在線程用完后掛起,而不為已存在的連接提供任何服務。如果有一種負載分布機制可以檢測到服務器沒有響應,則該服務器上的負載就可以分布到其 它的Web服務器上,這可能會致使這些服務器一個接一個地用光所有的線程。這樣一來,整個服務器組都會被掛起。操作系統(tǒng)級別可能還在不斷地接收新的連接, 而應用程序(Web服務器)卻無法為這些連接提供服務。用戶可以在瀏覽器狀態(tài)行上看到connected(已連接)的提示消息,但這以后什么也不會發(fā)生。
網(wǎng)站標題:服務器崩潰的原因有哪些?
當前地址:http://m.rwnh.cn/hangye/fwqtg/n7813.html
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)