Display session container là gì

Nếu bạn đã cài đặt phần mềm GeForce Experience của NVIDIA, bạn sẽ thấy khá nhiều quy trình NVIDIA đang chạy trong nền trên PC của bạn. Chúng tôi đã đếm mười quy trình riêng biệt trong Trình quản lý tác vụ Windows. Nhưng tất cả họ làm gì?

Chúng tôi đã liên hệ với NVIDIA để giải thích về các quy trình này, nhưng họ sẽ không cung cấp thêm thông tin nào. Chúng tôi cho rằng điều đó không đáng ngạc nhiên - thậm chí Microsoft không giải thích tất cả các quy trình trong chính Windows. Nhưng chúng tôi đã học được rất nhiều chỉ bằng cách chọc vào.

[Cảnh báo: Chúng tôi nói về việc vô hiệu hóa các dịch vụ và kết thúc các nhiệm vụ để giải quyết những gì ở đây, nhưng chúng tôi thực sự không khuyên bạn nên bắt đầu vô hiệu hóa thủ công các dịch vụ hoặc kết thúc các nhiệm vụ. Chúng tôi không biết chính xác những gì mỗi quá trình làm.]

NVIDIA Container

Bạn sẽ thấy rất nhiều quy trình NVIDIA NVIDIA Container đang chạy trên PC của bạn. Chương trình này, có tên nvcontainer.exe, dường như chịu trách nhiệm chạy và chứa các quy trình NVIDIA khác. Nói cách khác, NVIDIA Container không hoạt động nhiều. Nó chỉ chạy các tác vụ NVIDIA khác.

Phần mềm SysIternals Process Explorer, hiện thuộc sở hữu của Microsoft, có một hệ thống phân cấp quy trình cho thấy nhiều quy trình NVIDIA này khởi chạy các quy trình NVIDIA khác.

Khá nhiều trong số các quy trình NVIDIA Container này được liên kết với các tác vụ nền được triển khai dưới dạng dịch vụ hệ thống. Ví dụ: nếu bạn mở ứng dụng Dịch vụ, bạn sẽ thấy bốn dịch vụ NVIDIA: NVIDIA Display Container LS, NVIDIA LocalSystem Container, NVIDIA NetworkService Container và NVIDIA Tel Remotery Container.

Theo mặc định, tất cả các dịch vụ này được đặt để chạy tự động và luôn chạy ở chế độ nền, ngoại trừ Bộ chứa dịch vụ mạng NVIDIA. Thật không may, NVIDIA đã không cung cấp cho các dịch vụ này các mô tả thông tin trong ứng dụng Dịch vụ.

NVIDIA Display Container LS [NVDisplay.ContainerLocalSystem] xử lý một số tác vụ hiển thị. Ví dụ: nếu bạn mở Bảng điều khiển NVIDIA và nhấp vào Màn hình> Hiển thị Biểu tượng Khay thông báo, dịch vụ này chịu trách nhiệm hiển thị biểu tượng trong vùng thông báo của bạn. Nếu bạn kết thúc dịch vụ, biểu tượng thông báo NVIDIA sẽ biến mất.

Tuy nhiên, dịch vụ này dường như không xử lý nhiều tác vụ hiển thị khác. Ngay cả khi bạn tắt dịch vụ này, lớp phủ Trải nghiệm GeForce vẫn xuất hiện để hoạt động bình thường.

Thật khó để xác định tất cả mọi thứ mà dịch vụ liên quan thực hiện và mỗi khả năng thực hiện một số nhiệm vụ liên quan. Ví dụ: cả hai dịch vụ Container cục bộ NVIDIA [NvContainerLocalSystem] và NVIDIA NetworkService Container [NvContainerNetworkService] đều được yêu cầu để sử dụng NVIDIA GameStream.

Dịch vụ Container từ xa NVIDIA [NvTelemetryContainer] dường như xử lý việc thu thập dữ liệu về hệ thống của bạn và gửi nó đến NVIDIA. Đây không phải là bộ sưu tập dữ liệu bán buôn, nhưng, theo chính sách bảo mật của NVIDIA GeForce Experience, bao gồm các dữ liệu như thông số kỹ thuật GPU của bạn, chi tiết hiển thị, cài đặt trình điều khiển cho các trò chơi cụ thể, danh sách các trò chơi bạn đã cài đặt như trong GeForce Experience, số tiền RAM bạn có sẵn và thông tin về phần cứng khác của máy tính, bao gồm CPU và bo mạch chủ của bạn. Chúng tôi không nghĩ rằng điều này đáng để hoảng loạn và phần lớn bộ sưu tập dữ liệu này là những gì cho phép GeForce Experience đề xuất cài đặt đồ họa tối ưu cho các trò chơi trên PC của bạn.

Người trợ giúp NVIDIA ShadowPlay

Quá trình trợ giúp NVIDIA ShadowPlay [nvsphelper64.exe trên các phiên bản Windows 64 bit hoặc nvsphelper.exe trên các phiên bản Windows 32 bit] dường như lắng nghe phím nóng mở lớp phủ Trải nghiệm GeForce từ bất kỳ đâu trên hệ điều hành của bạn. Đó là Alt + Z theo mặc định, nhưng bạn có thể tùy chỉnh nó từ trong ứng dụng GeForce Experience. Nếu bạn kết thúc quá trình này trong Trình quản lý tác vụ, Alt + Z sẽ không mở lớp phủ nữa.

Và, nếu bạn đi tới Cài đặt> Chung trong Trải nghiệm GeForce và tắt lớp phủ ngoài trong trò chơi, thì quá trình này sẽ biến mất.

Mặc dù NVIDIA ShadowPlay là tên của tính năng ghi lại quá trình chơi trò chơi, ShadowPlay Helper chỉ xuất hiện chịu trách nhiệm mở lớp phủ. Khi bạn bật Phát lại tức thì hoặc bắt đầu ghi lại trò chơi, một quy trình NVIDIA Container khác bắt đầu sử dụng tài nguyên CPU, đĩa và GPU. Vì vậy, ít nhất một trong các quy trình NVIDIA Container xử lý ghi âm trò chơi với NVIDIA ShadowPlay.

Chia sẻ NVIDIA

Các quy trình chia sẻ NVIDIA [NVIDIA Share.exe] - và vâng, có hai trong số chúng - dường như cũng là một phần của lớp phủ Trải nghiệm GeForce. Điều này có ý nghĩa, vì lớp phủ chứa các tính năng chia sẻ để chia sẻ video clip và ảnh chụp màn hình trò chơi của bạn trên nhiều dịch vụ khác nhau.

Khi bạn tắt Lớp phủ trong trò chơi khỏi Trải nghiệm GeForce, các quy trình này cũng sẽ biến mất khỏi hệ thống của bạn.

Tuy nhiên, nếu bạn kết thúc cả hai quy trình Chia sẻ NVIDIA và sau đó nhấn Alt + Z, lớp phủ sẽ mở lại và bạn sẽ thấy các quy trình Chia sẻ NVIDIA hiện đang chạy lại. Điều này dường như chứng minh rằng Trình trợ giúp ShadowPlay lắng nghe phím tắt và sau đó chuyển sang các quy trình chia sẻ NVIDIA, xử lý lớp phủ.

Dịch vụ trợ giúp web NVIDIA [NVIDIA Web Helper.exe]

Quy trình Helper.exe Web của NVIDIA NVIDIA nằm trong thư mục NvNode. Đó là thời gian chạy Node.js và như vậy nó dựa trên công cụ JavaScript V8 của Chrome. Nó chạy mã JavaScript cho các tác vụ nền NVIDIA khác nhau. Cụ thể, Node.js cho phép các nhà phát triển web biết JavaScript sử dụng kiến ​​thức JavaScript của họ để viết phần mềm không chạy trên trang web.

Nếu bạn xem lén thư mục C: \ Program Files [x86] \ NVIDIA Corporation \ NvNode [hoặc C: \ Program Files \ NVIDIA Corporation \ NvNode thay vào đó nếu bạn đang sử dụng phiên bản Windows 32 bit], bạn sẽ thấy các tập tin kịch bản nó sử dụng. Nhìn lướt qua các tập lệnh cho thấy Trình trợ giúp Web NVIDIA được sử dụng để tự động tải xuống trình điều khiển mới và cài đặt chúng, cũng như các tác vụ khác như đăng nhập vào tài khoản NVIDIA.

Nếu bạn muốn vô hiệu hóa một số quy trình của NVIDIA, việc tắt lớp phủ trong trò chơi trong trò chơi GeForce Experience là một cách an toàn được đảm bảo để thực hiện. Điều này sẽ loại bỏ quy trình Trình trợ giúp NVIDIA ShadowPlay và hai quy trình Chia sẻ NVIDIA cho đến khi bạn bật lại. Một lần nữa, chúng tôi thường khuyên bạn nên vô hiệu hóa các dịch vụ khỏi menu Dịch vụ - sử dụng các tùy chọn tích hợp sẵn của chương trình nói chung là một cách an toàn hơn để cắt giảm các quy trình đang chạy này.

Bài viết được sự cho phép của tác giả Nguyễn Hữu Đồng

Như chúng ta đều biết, đặc điểm của Docker container là chúng chạy độc lập, và không ảnh hưởng đến nhau, thế nhưng vì một lí do nào đó, chúng ta lại muốn chia sẻ data giữa các container ví dụ, bạn có một 2,3 web server nginx và mong muốn khi chúng share chung các file config, hay html tĩnh. May mắn docker cung cấp volume để thực hiện việc đó.

  Docker to Serverless [Google Cloud Platform]

  Kubernetes sẽ không còn hỗ trợ Docker?

Docker volume là một volume được tạo ra cho phép các container mount volume vào trong các container hay dễ hiểu hơn là đocker sử dụng Volume đó thay thế cho 1 folder của container.

Để tiến hành chia sẻ file html tĩnh cho các 2 web server nginx, đầu tiên mình tạo một volume và đặt tên nó là nginx-static-html-share-volume

docker volume create nginx-static-html-share-volume

Mỗi volume được lưu trữ trong host file system [/var/lib/docker/volumes/], và được docker quản lí.

Để xem thông tin chi tiết hơn về volume đã được tạo mình dùng lệnh.

docker volume inspect nginx-static-html-share-volume

docker volume inspect

Như các bạn thấy thì volume chúng ta nằm ở “/var/lib/docker/volumes/nginx-static-html-share-volume/_data”

Trước khi chui vào đây thì mình sẽ tạo ra hai web server nginx share folder “/usr/share/html” cho cả hai bằng cách mount volume đó vào 2 container.

docker run -d --name nginx1 --mount source=nginx-static-html-share-volume,destination=/usr/share/nginx/html -p 2222:80 nginx docker run -d --name nginx2 --mount source=nginx-static-html-share-volume,destination=/usr/share/nginx/html -p 2223:80 nginx

Khi bạn chạy docker run một container, có chỉ định — mount, đầu tiên docker sẽ xem volume đã tồn tại hay chưa, nếu chưa thì docker sẽ tạo volume đó. Sau đó docker sẽ tiến hành copy tất cả các file trong destination vào volume và sau khi copy xong docker container sẽ sử dụng volume đó thay cho destination. Mọi thao tác của container với destination thực chất là thao tác với docker volume.

Hai Web server của mình đã chạy, để tiến hành kiểm tra mình gửi 2 get request tới 2 server và thực sự chúng đã chạy và share chung forder “/usr/share/html”.

curl localhost:2222

Và giờ mình sẽ chui vào docker VM để xem các volume của chúng ta có gì. Để login vào docker VM mình dùng lệnh.

screen $HOME/Library/Containers/com.docker.docker/Data/vms/0/tty

Nói sơ qua một chút về screen, screen cũng tương tự như việc bạn ssh đến một server, nhưng điểm khác với ssh là ví dụ như vì một lí do nào đó mà bị mất kết nối [ ví dụ mạng mất ] thì phiên làm việc [session] của ssh đó sẽ mất, nhưng với screen thì chúng ta có thể kiểm tra các session và resume lại các session đó để làm việc tiếp.

Sau Khi dùng lệnh trên thì mình đã ở trong docker VM, mình sẽ chui vào “/var/lib/docker/volumes/nginx-static-html-share-volume/_data”

để xem có gì không.

docker vm

Đây rồi, thư mục /usr/share/nginx/html

đã được share chung giữa 2 nginx container. Có hai file index.html, 50x.html, mình sẽ tiến hành edit index.html xem nó có tác động gì đến hai nginx server không.

echo "Nginx web Server" > index.html

Nổi dung file đã thay đổi mình sẽ tiến hành gửi hai get request tới 2 server và kì vọng nội dung trả về của hai server trả về sẽ giống nhau.

curl localhost:2222 curl localhost:2223

Và đúng như kì vọng, 2 Docker container đã share chung được data bằng cách mount volume “nginx-static-html-share-volume” vào “usr/share/nginx/html” của 2 container.

Và nếu sau này bạn không có nhu cầu sử dụng volume nữa thì hay remove

nó nhưng trước khi remove nó bạn phải stop và remove docker container.

Để stop và remove container dùng lệnh

docker stop docker rm

Để remove volume dùng lệnh

docker volume remove

Và sau khi remove mình lại chui vào docker VM để coi nó đã xoá hay chưa. Lúc nãy mình có tắt ngang “screen” và để coi còn nhưng screen session nào và để resume lại vào session đó mình dùng các lệnh sau.

screen -ls // lệnh này sẽ list ra những session đang tồn tại screen -r // resume một session.

Vậy là volume của mình đã bị xoá.

Video liên quan

Chủ Đề