Điểm:1

What do results of Linux time wrapper tell me happened to this cp command?

lá cờ in

My view on this issue is from the developer side. I write the code that gets placed on a RHEL virtual machine running as one of many in an enterprise system. The filesystem being used is a remote, network attached storage device.

We had some high variability on simple commands during batch. So we set up a test to get more information, but now I don't know what we've found.

We ran the following command every 30 minutes and logged the output. It's a copy of a 6 gb file. What I see is elapsed time jump from 11 seconds to 190 seconds when the system is busy running lots of jobs and this test command gets low CPU time.

What I can see is that column "I" (filesystem inputs) gets populated when the CPU is low, but not when it's high. Column "w" (involuntary swaps) is also much higher.

My question is, what is happening to this job/command that forces it to run SO MUCH LONGER when the CPU time goes down? Does the swap in/out store all of that data on some other device that is much slower? Generally, what happens during a swap in/out?

Command being run:

/usr/bin/time -a -o filename.txt cp file.txt fileCopy.txt
Date Time e S U P c w I O
3/14/2022 5:19:02 64.9 16.23 1.03 26% 3005 29210 12000016 12000000
3/14/2022 5:49:02 12.7 11.63 0.79 97% 2069 76 0 12000000
3/14/2022 6:19:02 100.39 14.74 0.78 15% 1034 29925 12000136 12000000
3/14/2022 6:49:24 191.32 18.86 0.94 10% 3374 36164 12001024 12000000
3/14/2022 7:19:02 71.61 15.61 0.88 23% 1610 30316 12000296 12000000
3/14/2022 7:49:02 70.73 17.5 0.91 26% 1408 29540 12000072 12000000
3/14/2022 8:19:02 10.95 9.89 0.7 96% 1709 75 0 12000000
3/14/2022 8:49:02 11.01 10.22 0.73 99% 239 85 0 12000000

The column descriptions from the man page for /usr/bin/time

e   Elapsed real time (in seconds).
S   Total number of CPU-seconds that the process spent in kernel mode.
U   Total number of CPU-seconds that the process spent in user mode.
P   Percentage of the CPU that this job got, computed as (%U + %S) / %E.
c   Number of times the process was context-switched involuntarily (because the time slice expired).
w   Number of waits: times that the program was context-switched voluntarily, for instance while waiting for an I/O operation to complete.
I   Number of filesystem inputs by the process.
O   Number of filesystem outputs by the process.
Điểm:1
lá cờ cn

P trong ngữ cảnh này có nghĩa là tỷ lệ thời gian CPU thực hiện công việc này trên tổng thời gian đã trôi qua. Gần 100% có nghĩa là gần như toàn bộ thời gian nó ở trên CPU và do đó, CPU bị hạn chế cho những lần chạy đó. Ngược lại với các lần chạy khác mà thứ khác là yếu tố hạn chế. Nhiều thời gian hệ thống (còn gọi là kernel) hơn thời gian hệ thống, như là điển hình của các tác vụ nặng I/O.

Với khối lượng công việc là sao chép một tệp 6 GB, chúng tôi có thể suy ra rằng tốc độ ghi trung bình trong 11 giây là hơn 0,5 GB ghi mỗi giây. Cột O xác nhận cùng một số lần ghi mỗi lần, phù hợp với quy trình sao chép một tệp đơn giản.

Tuy nhiên, cột đầu vào có những thay đổi lớn. Chạy chậm có số lần đọc tương đương với số lần ghi. Nhưng chạy nhanh không thực hiện bất kỳ lần đọc nào! Tôi cho rằng tệp vẫn được lưu trong bộ nhớ cache trong RAM từ lần đọc cuối cùng. DRAM nhanh hơn nhiều so với lưu trữ trạng thái rắn. Đó là một sự tăng tốc tuyệt vời, cho đến khi dưới áp lực bộ nhớ, hệ điều hành sẽ loại bỏ dữ liệu được lưu trong bộ nhớ cache và phải đọc lại từ bộ lưu trữ chậm.

Vì vậy, đây là một nhiệm vụ 200 giây, đôi khi có thể mất 12 giây. Có khả năng do bộ đệm trang Linux.


Việc tìm ra nguyên nhân gốc rễ của một vấn đề về hiệu suất thường đòi hỏi sự hiểu biết sâu sắc hơn về toàn bộ hệ thống, ngoài bất kỳ bộ chỉ số cụ thể nào.

Hệ thống tập tin đang được sử dụng là một thiết bị lưu trữ mạng từ xa.

Lưu ý rằng nội dung sao chép của bạn được lưu trữ trên mạng, do đó, nó cũng có thể là bất kỳ nội dung nào trên hệ thống từ xa hoặc mạng ở giữa. Hiệu suất lưu trữ từ xa. Tốc độ và việc sử dụng mạng (có thể là IP). Hoặc nó có thể là cục bộ của máy ảo này, nơi khách đang cạnh tranh tài nguyên với mọi thứ khác đang chạy trên cơ sở hạ tầng của bạn.

Luôn có thể đi sâu hơn vào cách mọi thứ hoạt động.Lưu trữ mạng (NFS?) Có quan trọng không, hay bạn cũng thấy điều này cho đĩa cục bộ? 0,7 giây thời gian CPU của người dùng thực sự là khá nhiều công việc, tính toán bao nhiêu để quản lý nhiều cuộc gọi hệ thống? CPU bận thực sự có nghĩa là gì khi hầu hết điều này đang chờ bộ nhớ chậm và bộ nhớ rất chậm? Không phải câu hỏi dễ trả lời, tuy nhiên có lẽ không cần phải tìm hiểu quá sâu khi mọi thứ đang hoạt động hiệu quả.

Orion Red avatar
lá cờ in
"Tôi cho rằng tệp vẫn được lưu trong bộ nhớ cache trong RAM từ lần đọc cuối cùng." - Điều này hoàn toàn có lý khi tôi thực sự ngồi và xem xét tình hình một cách tổng thể.Nó cũng có thể dẫn tôi đến một cách để khắc phục vết sưng cụ thể này trong thời gian xử lý. Đó là một con lợn trong một tình huống trăn trở khi chúng tôi nhận được một tệp 16gb khổng lồ, mã hóa/nén nó để sử dụng sau, sau đó giải mã/mở rộng nó khi cần. SAU ĐÓ sắp xếp nó. Các tệp có liên quan khác nhỏ hơn 800 MB, vì vậy tôi có thể thực hiện các bước đó liên tiếp nhau và loại bỏ nhu cầu thực hiện nhiều thao tác như vậy.
Orion Red avatar
lá cờ in
Bạn muốn được ghi nhận như thế nào khi tôi đảm nhận chuỗi này?
John Mahowald avatar
lá cờ cn
Có thể quá trình giải mã và xử lý có thể xảy ra trong một đường ống, nếu có thể truy cập luồng, nhưng có thể không. Hoặc chỉ ném bộ nhớ và lưu trữ nhanh vào vấn đề. Đối với ghi công, tên của tôi và liên kết tới điều này, như điển hình cho giấy phép CC BY-SA cho tất cả nội dung của Stack Exchange https://stackoverflow.com/help/licensing Có thể bạn sẽ không có cơ hội điều chỉnh và chia sẻ, nhưng nếu giả sử bạn đã từng viết một bài đăng trên blog kỹ thuật về việc diễn giải lệnh thời gian khiêm tốn, thì giấy phép yêu cầu ghi công.

Đă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.