据史料记载,西晋太康元年(公元280年)有245万户1616.386万人,太康三年(公元282年)有377万户约2476.89万人,均远高于三国末年的767万人。显然,这不仅是因为战争的结束,也是因为剥削的减少和户籍的恢复。但近代学者考虑到卜曲、佃户、奴婢、军户、工匠、乐户、异族移民等绝大部分人都没有纳入户籍统计,认为永康元年(公元300年)实际人口达到3500万。
西晋建国后,人口还没有恢复到东汉时期的水平,八王之乱和五乱使人口进一步减少。中国发生过几次大屠杀,如华北的刘聪、刘尧、石勒苏益格-荷尔斯泰因、石虎等。战争引发的瘟疫和饥荒也造成了大量的死亡,甚至发生了“人吃人,饿死人”的悲惨事件。除了战争的因素,金代的人口也由于各种因素而被隐瞒。
政府征收的重税使人民依附大家族或寺庙来避税;当时的士兵、僧侣、道士、奴婢属于其他民族,不进家门;此外,因为战乱,大量人口迁出或迁入后隐藏户籍。
由于北方战乱,大量人口逃往南方,形成人口大流动。滞留北方的汉人靠码头自卫。当时主要有六次流亡浪潮。公元296年,晋惠帝在位期间,关中发生齐万年之乱。成千上万的人从关中经过汉中到达蜀国,然后帮助李特和李雄建立他们的国家。另一条经过汉水,流向淮河,然后被石勒苏益格吸收。
巴蜀动乱后,人们逃到荆襄一带,因受土豪压迫而造反,最后被王敦、陶侃平定。并州饥民向河北、河南讨饭,后以田震为首,被称为“乞丐”。凉州受战乱影响较小,很多人去避难。由于保留了大量的汉文化遗迹体系,形成了“河西文化”。华北动乱时,很多人逃到辽东,被慕容慕的侨郡收留。后来,这些侨民帮助慕容建立了颜倩。
最后一个,也是最大的一个,是永嘉之乱后从中原流向江南,史称“永嘉之乱,带冠南渡”。东晋时有五次,即司马睿迁镇江东时;祖逖和祖约北伐失败,南撤;赵灭亡后,桓温北伐;淝水之战后,前秦覆灭,刘裕北伐失败。南迁的华侨宗族成为东晋南朝的栋梁。
渡江后,侨民主要分布在泾阳、梁毅及四州,部分深入闽桂地区。侨民主要定居在侨乡县,成为白人公民可以免除税收和关税。由于华侨县县迁徙的不确定性,外籍人士和本地人的混杂,户籍难以管理,影响了政府的税收。于是,定居后实行“断地”,将侨民纳入户内(黄种人),以充实其财富,使官员失去免税特权。东晋时实施了四次。那时,人是一种重要的资产。战争时期,无论是侵略者还是被侵略者,为了防止敌人得到资助,人们经常被迫迁移,尤其是在华北或江淮地区。