Công cụ kiểm tra phần mềm đang chạy trên máy tính
Phân tích tức thì các quá trình đang hoạt động trên hệ thống của bạn với công cụ chuyên nghiệp này. Nhận báo cáo chi tiết về sử dụng CPU, bộ nhớ và các tiến trình ẩn.
Hướng dẫn toàn diện: Cách xem các phần mềm đang chạy trên máy tính
Việc giám sát các phần mềm và tiến trình đang hoạt động trên máy tính là kỹ năng quan trọng để tối ưu hóa hiệu suất, phát hiện phần mềm độc hại và quản lý tài nguyên hệ thống. Bài viết này sẽ hướng dẫn bạn các phương pháp chuyên nghiệp để xem và quản lý các quá trình đang chạy trên các hệ điều hành phổ biến.
1. Các phương pháp cơ bản để xem phần mềm đang chạy
1.1. Sử dụng Task Manager trên Windows
Task Manager là công cụ tích hợp sẵn mạnh mẽ trên Windows cung cấp thông tin chi tiết về tất cả các quá trình đang chạy:
- Mở Task Manager:
- Nhấn tổ hợp phím Ctrl + Shift + Esc
- Hoặc nhấn Ctrl + Alt + Del và chọn “Task Manager”
- Hoặc click chuột phải vào thanh taskbar và chọn “Task Manager”
- Phân tích các tab quan trọng:
- Processes: Hiển thị tất cả ứng dụng và tiến trình nền đang chạy, sắp xếp theo CPU, bộ nhớ, đĩa và mạng.
- Performance: Cung cấp biểu đồ thời gian thực về sử dụng CPU, RAM, đĩa và mạng.
- Startup: Danh sách các chương trình khởi động cùng Windows, ảnh hưởng đến thời gian khởi động hệ thống.
- Details: Thông tin chi tiết về từng tiến trình bao gồm PID (Process ID) và đường dẫn thực thi.
- Các thao tác nâng cao:
- Click chuột phải vào tiến trình để kết thúc task, thiết lập ưu tiên, hoặc phân tích file.
- Sử dụng tính năng “Run new task” để chạy chương trình với quyền admin.
- Xem lịch sử ứng dụng trong tab “App history” (Windows 10/11).
1.2. Sử dụng Activity Monitor trên macOS
Activity Monitor là công cụ tương đương trên macOS cung cấp thông tin chi tiết về hoạt động hệ thống:
- Mở Activity Monitor:
- Vào Applications > Utilities > Activity Monitor
- Hoặc sử dụng Spotlight (Command + Space) và tìm kiếm “Activity Monitor”
- Các tab chính:
- CPU: Hiển thị các tiến trình theo % CPU đang sử dụng, với tùy chọn hiển thị tất cả tiến trình hoặc chỉ của người dùng hiện tại.
- Memory: Thông tin về sử dụng RAM, bao gồm memory pressure và các tiến trình tiêu tốn nhiều bộ nhớ.
- Energy: Ảnh hưởng của các tiến trình đến tuổi thọ pin (quan trọng cho laptop).
- Disk: Hoạt động đọc/ghi đĩa theo thời gian thực.
- Network: Lượng dữ liệu mạng được gửi và nhận bởi từng tiến trình.
- Tính năng nâng cao:
- Sử dụng thanh tìm kiếm để lọc tiến trình cụ thể.
- Xem thông tin chi tiết bằng cách double-click vào tiến trình.
- Xuất báo cáo hệ thống để phân tích sâu hơn.
1.3. Sử dụng System Monitor trên Linux
Hầu hết các bản phân phối Linux đều đi kèm với System Monitor hoặc các công cụ tương đương:
- Mở System Monitor:
- Tìm kiếm “System Monitor” trong menu ứng dụng
- Hoặc chạy lệnh
gnome-system-monitortrong terminal
- Các tab chính:
- Processes: Danh sách tất cả tiến trình với thông tin về CPU, bộ nhớ và người dùng.
- Resources: Biểu đồ sử dụng CPU, bộ nhớ và mạng.
- File Systems: Thông tin về các ổ đĩa và phân vùng được gắn kết.
- Công cụ dòng lệnh:
top– Hiển thị các tiến trình đang chạy và sử dụng tài nguyênhtop– Phiên bản nâng cao của top với giao diện tương tácps aux– Danh sách tất cả tiến trình đang chạykill [PID]– Kết thúc tiến trình theo ID
2. Phương pháp nâng cao để phân tích tiến trình
2.1. Sử dụng Process Explorer (Windows)
Process Explorer là công cụ miễn phí từ Microsoft cung cấp thông tin chi tiết hơn Task Manager:
- Hiển thị cây tiến trình (process tree) để xem mối quan hệ giữa các tiến trình
- Thông tin chi tiết về handles và DLLs mà mỗi tiến trình đang sử dụng
- Tìm kiếm tiến trình theo tên, company hoặc description
- Kiểm tra tính toàn vẹn của file thực thi (verify digital signatures)
- Tải về từ Microsoft Sysinternals
2.2. Sử dụng lsof và netstat (Linux/macOS)
Các lệnh dòng lệnh mạnh mẽ để phân tích tiến trình:
| Lệnh | Mô tả | Ví dụ |
|---|---|---|
lsof |
Liệt kê các file mở và tiến trình sử dụng chúng | lsof -i :80 (xem tiến trình sử dụng port 80) |
netstat |
Hiển thị kết nối mạng và bảng định tuyến | netstat -tuln (xem tất cả kết nối mạng) |
ss |
Thay thế hiện đại cho netstat | ss -tulnp (xem kết nối với số port và tiến trình) |
strace |
Theo dõi các cuộc gọi hệ thống của tiến trình | strace -p [PID] |
2.3. Sử dụng Autoruns (Windows)
Công cụ từ Microsoft Sysinternals để quản lý các chương trình khởi động tự động:
- Hiển thị tất cả vị trí khởi động (registry, startup folders, services, etc.)
- Cho phép vô hiệu hóa các mục khởi động không mong muốn
- Hữu ích để phát hiện và loại bỏ malware khởi động cùng hệ thống
- Có thể so sánh với cơ sở dữ liệu trực tuyến để phát hiện mục khởi động đáng ngờ
3. Phân tích hiệu suất hệ thống
3.1. Các chỉ số quan trọng cần theo dõi
| Chỉ số | Giá trị bình thường | Giá trị cảnh báo | Ảnh hưởng |
|---|---|---|---|
| Sử dụng CPU | < 30% khi nhàn rỗi | > 80% liên tục | Làm chậm hệ thống, quá nhiệt |
| Sử dụng RAM | < 70% tổng dung lượng | > 90% tổng dung lượng | Sử dụng swap/đĩa ảo, làm chậm hệ thống |
| Hoạt động đĩa | < 50% thời gian hoạt động | 100% thời gian hoạt động | Làm chậm tất cả hoạt động, giảm tuổi thọ ổ đĩa |
| Số tiến trình | 50-150 (phụ thuộc hệ thống) | > 300 | Tăng tải cho CPU và bộ nhớ |
| Nhiệt độ CPU | < 60°C khi nhàn rỗi | > 85°C | Nguy cơ quá nhiệt, giảm tuổi thọ phần cứng |
3.2. Công cụ phân tích hiệu suất chuyên sâu
- Windows Performance Monitor: Công cụ tích hợp cho phép ghi lại và phân tích dữ liệu hiệu suất theo thời gian.
- Resource Monitor (Windows): Cung cấp thông tin chi tiết hơn Task Manager về sử dụng tài nguyên.
- VMStat (Linux): Hiển thị thống kê về bộ nhớ ảo, quá trình, và hoạt động đĩa.
- iStat Menus (macOS): Công cụ của bên thứ ba cung cấp thông tin hệ thống chi tiết trong menu bar.
- Glances: Công cụ giám sát hệ thống đa nền tảng với giao diện người dùng thân thiện.
4. Phát hiện và xử lý phần mềm độc hại
4.1. Dấu hiệu của phần mềm độc hại
- Tiến trình không rõ nguồn gốc với tên ngẫu nhiên (ví dụ: “svch0st.exe” thay vì “svchost.exe”)
- Sử dụng CPU hoặc mạng cao bất thường
- Tiến trình chạy dưới quyền system nhưng không phải dịch vụ hệ thống
- File thực thi nằm trong thư mục tạm thời hoặc vị trí bất thường
- Tiến trình cố gắng kết nối đến địa chỉ IP đáng ngờ
- Không có thông tin công ty hoặc chữ ký số hợp lệ
4.2. Các bước xử lý khi phát hiện phần mềm độc hại
- Không kết thúc tiến trình ngay lập tức: Một số malware có cơ chế tự bảo vệ và có thể gây hại khi bị giết tiến trình.
- Chụp ảnh màn hình thông tin tiến trình: Ghi lại PID, đường dẫn file, và các thông tin liên quan.
- Sử dụng công cụ chống virus: Quét hệ thống với phần mềm chống virus cập nhật (Malwarebytes, Windows Defender, etc.).
- Kiểm tra file trên VirusTotal: Tải lên file đáng ngờ để phân tích bởi nhiều công cụ chống virus.
- Ngắt kết nối mạng: Ngắt kết nối internet để ngăn malware liên lạc với server điều khiển.
- Khởi động ở chế độ an toàn: Khởi động lại máy ở Safe Mode để loại bỏ malware dễ dàng hơn.
- Khôi phục hệ thống: Sử dụng System Restore (Windows) hoặc Time Machine (macOS) để trở về trạng thái sạch.
4.3. Công cụ chuyên dụng để phát hiện malware
| Công cụ | Nền tảng | Tính năng nổi bật | Link |
|---|---|---|---|
| Process Hacker | Windows | Giao diện nâng cao, phát hiện rootkit, quản lý dịch vụ | processhacker.sourceforge.io |
| Malwarebytes | Windows, macOS | Phát hiện và loại bỏ malware, ransomware, và PUPs | malwarebytes.com |
| Rkhunter | Linux | Quét rootkit và các dấu hiệu xâm nhập | rkhunter.sourceforge.net |
| Little Snitch | macOS | Giám sát và kiểm soát kết nối mạng của ứng dụng | obdev.at |
| Windows Defender | Windows | Bảo vệ thời gian thực, quét offline, và bảo vệ dựa trên đám mây | Tích hợp sẵn trong Windows |
5. Tối ưu hóa hệ thống dựa trên phân tích tiến trình
5.1. Giảm thời gian khởi động
- Vô hiệu hóa các chương trình khởi động không cần thiết trong Task Manager (Windows) hoặc System Preferences (macOS)
- Sử dụng
msconfig(Windows) để quản lý dịch vụ khởi động - Trì hoãn khởi động các ứng dụng không cấp thiết với công cụ như Startup Delayer
- Giảm số lượng dịch vụ hệ thống không cần thiết (cẩn thận khi vô hiệu hóa dịch vụ hệ thống)
5.2. Quản lý sử dụng tài nguyên
- Đặt ưu tiên CPU cho các tiến trình quan trọng (trong Task Manager)
- Giới hạn sử dụng tài nguyên cho các ứng dụng nặng với công cụ như BES (Battle Encoder Shirase)
- Sử dụng tính năng “Affinity” để gán lõi CPU cụ thể cho các tiến trình quan trọng
- Tăng dung lượng ổ đĩa ảo (page file) nếu hệ thống thường xuyên hết RAM
5.3. Lập lịch dọn dẹp hệ thống
- Sử dụng Task Scheduler (Windows) hoặc launchd (macOS) để tự động chạy công cụ dọn dẹp
- Lập lịch quét malware định kỳ
- Tự động xóa file tạm và cache không cần thiết
- Tối ưu hóa ổ đĩa định kỳ (đối với HDD)
6. Các công cụ giám sát từ xa và quản lý hệ thống
6.1. Giải pháp cho doanh nghiệp và quản trị viên hệ thống
- Nagios: Hệ thống giám sát mạng và cơ sở hạ tầng mở rộng
- Zabbix: Giải pháp giám sát doanh nghiệp với khả năng báo cáo chi tiết
- PRTG Network Monitor: Công cụ giám sát toàn diện với giao diện trực quan
- SolarWinds Server & Application Monitor: Giám sát hiệu suất server và ứng dụng
- Datadog: Nền tảng giám sát đám mây cho cơ sở hạ tầng hiện đại
6.2. Công cụ mã nguồn mở
- Netdata: Giám sát thời gian thực với dashboard chi tiết
- Prometheus + Grafana: Bộ công cụ mạnh mẽ cho thu thập và trực quan hóa metrics
- Cacti: Hệ thống giám sát dựa trên web với khả năng lưu trữ lịch sử dài hạn
- Observium: Giám sát tự động cho mạng và hệ thống
7. Các nguồn tài liệu và hướng dẫn chính thức
Để tìm hiểu thêm về quản lý tiến trình và tối ưu hóa hệ thống, bạn có thể tham khảo các nguồn tài liệu uy tín sau:
- Microsoft Sysinternals Documentation – Công cụ nâng cao cho Windows
- Apple macOS Support – Hướng dẫn chính thức về Activity Monitor và quản lý hệ thống
- Linux Kernel Documentation – Tài liệu chi tiết về quản lý tiến trình trên Linux
- US-CERT (United States Computer Emergency Readiness Team) – Hướng dẫn bảo mật và quản lý hệ thống
- NIST Information Technology Laboratory – Tiêu chuẩn và hướng dẫn về quản lý hệ thống
8. Các câu hỏi thường gặp
8.1. Làm thế nào để biết một tiến trình có phải là virus không?
Để xác định một tiến trình có phải là virus hay không, bạn nên:
- Kiểm tra tên file và đường dẫn – các file hệ thống hợp pháp thường nằm trong
C:\Windows\System32hoặc/usr/bin - Tìm kiếm tên tiến trình trên Google cùng với từ khóa “virus” hoặc “malware”
- Sử dụng VirusTotal để quét file thực thi
- Kiểm tra chữ ký số của file (click chuột phải > Properties > Digital Signatures)
- Sử dụng công cụ như Process Explorer để xem thông tin chi tiết về tiến trình
8.2. Tại sao máy tính của tôi có nhiều tiến trình đến vậy?
Số lượng tiến trình cao có thể do:
- Nhiều ứng dụng chạy nền (antivirus, update services, cloud sync)
- Các tab trình duyệt web (mỗi tab có thể là một tiến trình riêng)
- Dịch vụ hệ thống (Windows Services, Linux daemons)
- Phần mềm độc hại tạo ra nhiều tiến trình ẩn
- Các ứng dụng được thiết kế kém (không giải phóng tài nguyên đúng cách)
Bạn có thể giảm số lượng tiến trình bằng cách:
- Vô hiệu hóa các chương trình khởi động không cần thiết
- Đóng các ứng dụng không sử dụng
- Sử dụng trình duyệt nhẹ hơn (ví dụ: Firefox thay vì Chrome nếu mở nhiều tab)
- Quét hệ thống để phát hiện malware
8.3. Làm thế nào để giảm sử dụng CPU cao?
Để giảm sử dụng CPU:
- Xác định tiến trình gây ra sử dụng CPU cao trong Task Manager/Activity Monitor
- Cập nhật driver phần cứng, đặc biệt là driver card đồ họa và chipset
- Vô hiệu hóa các hiệu ứng hình ảnh không cần thiết (Windows: System > Advanced system settings > Performance Settings)
- Giảm số lượng chương trình chạy nền
- Kiểm tra nhiệt độ CPU – quá nhiệt có thể gây ra hiện tượng throttling
- Quét hệ thống để phát hiện malware hoặc tiến trình mining tiền ảo
- Xem xét nâng cấp phần cứng nếu CPU thường xuyên quá tải với công việc hàng ngày
8.4. Sự khác biệt giữa “End Task” và “End Process” là gì?
Trong Task Manager:
- End Task: Yêu cầu tiến trình đóng một cách “lịch sự” bằng cách gửi tín hiệu đóng chuỗi (WM_CLOSE). Điều này cho phép chương trình lưu trạng thái và dọn dẹp tài nguyên trước khi đóng.
- End Process: Buộc kết thúc tiến trình ngay lập tức bằng cách chấm dứt tất cả các thread của nó. Điều này có thể dẫn đến mất dữ liệu chưa lưu hoặc làm hỏng file.
Nên sử dụng “End Task” trước, chỉ dùng “End Process” khi tiến trình không phản hồi hoặc là malware.
8.5. Làm thế nào để xem các tiến trình của người dùng khác trên Linux?
Trên Linux, để xem tất cả tiến trình bao gồm của người dùng khác:
- Sử dụng lệnh
ps auxđể xem tất cả tiến trình - Sử dụng
tophoặchtopvà nhấn u rồi nhập tên người dùng - Sử dụng
sudovới các lệnh trên nếu cần quyền root - Đối với hệ thống systemd, sử dụng
systemctl --user list-units(cho người dùng hiện tại) hoặcsystemctl list-units(toàn hệ thống)