自唐朝武德七年(624年)至开元二十九年(741年)的100多年里,长安周边的京畿地区,共发生了20起大型自然灾害,其中有10次旱灾、7次水灾及3次蝗灾。
唐朝中期的公元8世纪,关中地区共发生了37次旱灾,平均每2.7年就发生一次。
一方面,森林和水资源日趋锐减;另一方面,隋唐时期的长安城人口越来越多。历史数据显示,西汉时,长安城的人口只有25万人左右;而到了盛唐时期,长安城的人口最多可达百万之众。
与人口日益膨胀相对应的是,关中地区的可耕土地越来越少。当时,由于森林砍伐、水土流失严重,土地盐碱化、肥力减退等原因,关中地区的灌溉农田从西汉时期的4.45万顷,锐减到唐代宗大历年间(766年—779年)的0.62万顷。也就是说,相比西汉,人口增长率高达400%的唐代长安城,周边的土地灌溉面积却同比减少了3.83万顷,衰减率高达86.1%。
由于生态环境日趋恶化、地少人多,隋唐时期的长安城经常出现缺粮的窘境。到了中唐时期,长安城每年的粮食缺口,最高可达400万石(按唐代一石粟米重约42公斤计算,约合1.68亿公斤),后来虽然有所回落,但唐朝时长安城每年的粮食缺口仍高达100万石(约合4200万公斤)。