Điểm:3

Trạng thái Git rất chậm trên một PC

lá cờ do

Tôi không chắc đây là sự cố ubuntu hay sự cố git ...

Tôi có hai PC

  • một là ubuntu VM (gọi nó là VM PC)
  • cái còn lại là PC Ubuntu (gọi nó là Build PC)

Cả hai đều đang chạy Ubuntu 18.04.

Cả hai đều đang chạy trên cùng một phần cứng (máy vật lý khác nhau - nhưng cùng một bản dựng hw).

Tôi có một cấu trúc repo rất lớn, nhưng khi tôi chạy time git submodule foreach --recursive git status Tôi nhận được thời gian cực kỳ khác nhau:

  • Xây dựng PC: ~40s
  • Máy ảo: ~9 giây

Nếu tôi chỉ làm trạng thái git ở cấp cao nhất, tôi nhận được ~2 giây trên Build PC và ~0,5 giây trên VM PC.

Cả hai đều đang chạy cùng một phiên bản git 2.17.1 - trên thực tế, hai Ubuntu được thiết lập bằng cách sử dụng cùng một tập lệnh cài đặt - vì vậy chúng thực sự rất giống nhau.

Sự khác biệt chính là Build PC có 3 vật lý 1 NVmem và 2xSSD:

  1. Hệ điều hành 256GB (NVM)
  2. repo sw 1TB (repo đang thử nghiệm ở đây)
  3. 1TB kho lưu trữ khác

Trong khi trên VM, tất cả trên một ổ SSD trong hình ảnh đĩa hộp virutal (khoảng 500 GB)

Tôi không chắc bắt đầu gỡ lỗi vấn đề này từ đâu vì vậy tôi nghĩ mình sẽ bắt đầu trong diễn đàn này :)

cập nhật

Tôi đã thử điều này trên SSD hệ điều hành trên Build PC và vẫn nhận được kết quả chậm hơn.... vì vậy đó không phải là vấn đề với SSD thứ 2/thứ 3 hoặc cách chúng được gắn kết...

Cập nhật 2

Trên hai máy khác nhau - chúng đang thử nghiệm trên cùng một repo chính xác (được sao chép theo cùng một cách từ cùng một điều khiển từ xa). Build PC one là một bản sao gần đây hơn - nhưng tôi hy vọng rằng số lần gỡ lỗi sẽ giống nhau. Đây là kết quả của: git đếm đối tượng -v:

máy ảo

đếm: 281
kích thước: 1184
trong gói: 1698
gói: 2
gói kích thước: 112961
prune-packable: 0
rác: 0
kích thước rác: 0

Xây dựng PC

đếm: 0
kích thước: 0
trong gói: 1972
gói: 1
gói kích thước: 112994
prune-packable: 0
rác: 0
kích thước rác: 0

các giá trị rất khác nhau... Tôi không chắc điều đó có nghĩa là gì. Vì vậy, tôi đã xóa và sao chép lại kho lưu trữ VM PC để xem liệu một bản sao mới có tạo ra sự khác biệt hay không. Dưới đây là những giá trị đó:

đếm: 0
kích thước: 0
trong gói: 1972
gói: 1
gói kích thước: 112994
prune-packable: 0
rác: 0
kích thước rác: 0

tôi chạy lại trạng thái git kiểm tra và nhận được kết quả chính xác như vậy - trong đó VM PC nhanh hơn nhiều

cập nhật 3

Chạy thực sự kỳ lạ: thời gian GIT_TRACE_PERFORMANCE=1 git st trên Build PC in tải gỡ lỗi - nhưng chạy nhanh như PC VM (<1 giây). Nhưng nếu tôi chạy bất cứ thứ gì khác thì sẽ mất nhiều thời gian hơn:

  • thời gian GIT_TRACE_PERFORMANCE=1 git st ~0,5 giây
  • thời gian GIT_TRACE_PERFORMANCE=1 git st 2> /dev/null ~2 giây
  • thời gian git st ~2s
lá cờ uz
Jos
Vui lòng chạy `git count-objects -v` trên cả hai kho lưu trữ và cho chúng tôi biết liệu chúng có thể so sánh được không.
code_fodder avatar
lá cờ do
@jos Tôi đã chạy các bài kiểm tra đó và cập nhật trong phần mô tả câu hỏi ở trên. Các con số xuất hiện khác nhau mặc dù chúng là cùng một repo. Vì vậy, tôi đã xóa và sao chép lại repo VM PC (vì đó là bản sao cũ) và sau đó là các số giống nhau.Nhưng những lần ở đâu giống nhau. Thật kỳ lạ là tôi có thể khiến Build PC chạy nhanh nếu tôi sử dụng `GIT_TRACE_PERFORMANCE` nhưng không phải nếu tôi chuyển hướng đầu ra thành /dev/null ... rất kỳ quặc!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.