先说一句大实话:你要指望史书上写出一个精确数字,比如“八王之乱共死亡1,237,568人”,那不可能。
《晋书》里根本没给这种总账——那时候户籍都打飞了,乡下饿死的人、路上被流寇砍了的、瘟疫带走的一家老小,谁给你一个个报数?所以今天我们谈“死了多少人”,得拆成三层口径来看,不然一开口就容易把锅全扣在八王头上,或者又把八王的罪洗轻了。

第一层,最窄的口径:纯战场直接死亡
这一层是有点数的。八王之乱从291年贾南风搞死杨骏开始,到306年东海王司马越赢下最后一局,16年里司马家的八个王轮流下场互砍。单看几场大仗就很吓人:
赵王司马伦和齐王司马冏在洛阳郊外干那一仗,《晋书》记的是“自兵兴六十余日,战所杀害,仅十万人”——光这一场,两边死在战场上的就逼近十万 。后来长沙王司马乂被围在洛阳,成都王司马颖、河间王司马颙的联军打进来,再补一波;张方进城后又烧杀掳掠一轮。
有整理材料把八王之乱全程的直接军人、平民战死合计估在50万上下,也有更保守的说法是“数十万” 。
这一层你可以记成一句人话:纯被刀砍死、箭射死、城破屠掉的,几十万,冲上百万都勉强。这是八王自己“亲手”造的孽。

第二层,把饥荒、瘟疫、蝗灾、流民死亡也算进来——这才是大头
八王之乱最毒的地方,不是他们自己死了多少王,是他们把中原的种地系统、漕运系统、储粮系统全打烂了。邺城、洛阳、长安这几座北方最核心的城市,被反复围、反复破、反复抢,庄稼没人收,粮仓一把火烧掉。
《晋书·食货志》里那段话,读着比恐怖片还瘆人:“幽、并、司、冀、秦、雍六州大蝗,草木及牛马毛皆尽。又大疾疫,兼以饥馑,百姓又为寇贼所杀,流尸满河,白骨蔽野。”
长安到最后什么样?“户不盈百,墙宇颓毁,蒿棘成林”,“米斗金二两,人相食,死者太半” 。并州“十不存二”,益州“城邑皆空,野无烟火”。这时候死的已经不是“打仗死的”了,是饿死的、病死的、逃荒路上倒下去再没起来的。
葛剑雄在《中国人口史》里的推算比较硬:西晋太康三年(282年)在册全国约377万户、2300多万人;考虑门阀隐户,到300年前后实际人口高峰可能冲到3500万上下,其中北方约2400多万 。
而到十六国谷底,北方人口大概只剩原来的三成多——也就是说,从八王之乱开打到十六国初期这一段,北方凭空少掉的可能是一千几百万人口 。
这里必须老实交代一句:这上千万的缺口,不全是八王之乱“当场”杀的,里面有相当一部分是304年以后刘渊、石勒、刘曜这些胡族武装进来接着收割的——也就是永嘉之乱(311年洛阳破、316年长安破)那一段。但八王之乱是把西晋国防、财政、民心全掏空的那一锤,后面胡骑能长驱直入,根子就在前面这16年。

第三层,如果你问的是“八王之乱这场大崩溃,最终连带赔掉多少条命”,那就是千万级
复旦葛剑雄那一路学者的口径大致是这样:把八王之乱+永嘉之乱+五胡前期一起看成一条连续崩链,北方人口从约2400万掉到谷底400多万到1200万之间,不同算法区间不一样 。也就是说,西晋末到十六国初这三十年,北方每三四个人里就少掉两三个——有死在战场上的,有饿死在荒地里的,有被瘟疫拖走的,也有南逃成“衣冠南渡”那一批的。
所以你以后再看到两种说法打架,一边说“八王之乱才死几十万”,另一边说“八王之乱害死了一千多万人”,别急着说谁在胡扯——他们只是没说清自己用的是哪一层口径。
我的看法很直接:骂八王之乱,用“直接战死几十万”太轻,用“北方人口腰斩再腰斩”也不冤。因为这帮司马家的王,一边打一边还引鲜卑、匈奴骑兵进来当雇佣军,等于自己先把狼放进院里再继续内斗。等他们终于打出最后一个活人东海王司马越的时候,中原已经从“太康盛世”变成“流尸满河,白骨蔽野”了。
一场皇族抢遥控器式的宫斗,最后演成几百万、上千万人的命案——这就是八王之乱最让人后背发凉的地方:它不是突然塌的,是一砖一瓦被自家人拆到房顶砸下来,底下站着的全是老百姓。
致作者:《写乎》致力于文化与历史的传播,仅仅根据作者意愿开通赞赏,赞赏所得全部归作者。
投稿邮箱:499020910@qq. com

