diff --git a/server/sessdata/session.go b/server/sessdata/session.go
index cbb6675..90af092 100644
--- a/server/sessdata/session.go
+++ b/server/sessdata/session.go
@@ -117,10 +117,18 @@ func checkSession() {
 // 状态为过期的用户踢下线
 func CloseUserLimittimeSession() {
 	s := mapset.NewSetFromSlice(dbdata.CheckUserlimittime())
+	limitTimeToken := []string{}
+	sessMux.RLock()
 	for _, v := range sessions {
+		v.mux.RLock()
 		if v.IsActive && s.Contains(v.Username) {
-			CloseSess(v.Token)
+			limitTimeToken = append(limitTimeToken, v.Token)
 		}
+		v.mux.RUnlock()
+	}
+	sessMux.RUnlock()
+	for _, v := range limitTimeToken {
+		CloseSess(v)
 	}
 }