With the increasing development of industrial technology, fault detection technology has been widely applied in many complex systems. Aiming at the problems of multi-operation conditions and the data length needed for fault detection using Kullback-Leibler Divergence (KLD), a novel fault detection method for complex systems based on optimized KLD under multi-operation conditions is proposed in this paper. In the first place, based on the historical data of the system, the complex operation conditions of the system are divided into several simple mutually exclusive operation conditions, and the division standard is established. In the next place, the optimal length can be quickly determined by autocorrelation analysis and applied to various operation conditions. After the next, in the training stage, the KLD values of all training data are calculated with the benchmark that is the initial optimal data length of each operation condition. And the maximum value is taken as the threshold for fault detection. Afterward, in the test phase, it starts by judging the type of operation condition that the data belongs to, then the corresponding KLD value is calculated, which is compared with the corresponding threshold, so as to determine whether the fault occurs. Eventually, this method is applied to the suspension system of the maglev train and respectively compared with the fault detection methods based on Euclidean distance or Mahalanobis distance. The results show that the proposed method possesses a low false alarm rate and high sensitivity.