晉武帝即位後,為防止爭奪帝位的宮廷政變發生,便極力培植皇族在地方上的勢力,繼承了兩漢的封國製,大封同姓王,希望靠著自家的力量來維護朝廷對全國的統治。而晉武帝為維護司馬氏江山的這一係列手段,終因缺乏對諸王限製的必要法度以及後來統治集團內部矛盾的發展,宗室諸侯王不但沒有能夠捍衛帝國的利益,反而將皇權勢力分割,以致出現了八王之亂。
西晉經賈後專政和八王之亂的浩劫,社會經濟受到嚴重破壞,人民大量傷亡,西晉的統治機能名存實亡,處於癱瘓狀態。八王之間的混戰,使得各地水利失修,吏治混亂。而戰亂又往往伴隨著天災,這一時期,災荒連年,中原與黃河地區各地人口便開始大量流亡,向南方遷移。《晉書·李特載記》中記載,這段時期關中人口有十餘萬流入漢川,河東、平陽、弘農、上黨諸郡人民流入潁川、汝南、南陽、河南的有數萬家。《晉書·杜弢傳》中也記載了類似情況,益州流民流入荊、湘的也有數萬家。
時人劉琨曾上書陳述:“自涉州疆,目睹困乏,流民四散,十不存二,攜老扶幼,不絕於路。”以上這些所述就是當時的一大嚴重社會問題——“流民南遷”。
流民的大量南遷,在給南方帶去北方的生產經驗與先進文化的同時,也麵臨著一個十分現實的“吃住”問題。當時的南方經濟相對北方落後,在北人南遷之初,沒有足夠的能力負擔幾十萬人口的“吃住”,所以當地居民排擠流民,流民的生活處境十分尷尬。這樣南渡的北人與當地居民的摩擦無法避免了。當時的巴蜀流民在荊、湘為當地百姓排擠,沒有了活路,最終在李特的率領下起而暴動。
當時西北地區發生了一場大饑荒,十幾萬老百姓吃不上飯,餓得連地上的草都拔下來吃光了。西晉王朝的行政機構已經癱瘓,當地官員麵對災患自顧不暇,對百姓則不管不問。十幾萬人實在沒法子活了,隻好離開家鄉逃到四川一帶討生活。