Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

guestfs-performance - Trực tuyến trên đám mây

Chạy guestfs-performance trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh guestfs-performance có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


guestfs-performance - kỹ thuật libguestfs để có hiệu suất cao nhất

MÔ TẢ


Trang này ghi lại cách đạt được hiệu suất cao nhất từ ​​libguestfs, đặc biệt khi
bạn muốn sử dụng libguestfs để thao tác với hàng nghìn máy ảo hoặc ảnh đĩa.

Ba lĩnh vực chính được bảo hiểm. Libguestfs chạy một thiết bị (một bản phân phối Linux nhỏ)
bên trong qemu/KVM. Hai lĩnh vực đầu tiên là: giảm thiểu thời gian thực hiện để bắt đầu việc này
thiết bị và số lần thiết bị phải được khởi động. Khu vực thứ ba là
rút ngắn thời gian thực hiện việc kiểm tra VM.

CƠ SỞ ĐO


Trước khi thực hiện các thay đổi về cách bạn sử dụng libguestfs, hãy thực hiện các phép đo cơ bản.

Đường cơ sở: Bắt đầu các thiết bị
Trên máy không tải, thời gian khởi động thiết bị là bao lâu:

time guestfish -a /dev/null run

Chạy lệnh này nhiều lần liên tiếp và loại bỏ vài lần chạy đầu tiên để bạn
đo trường hợp "bộ đệm nóng" điển hình.

Giải thích

Lệnh này khởi động thiết bị libguestfs trên một đĩa trống và sau đó tắt ngay lập tức
nó xuống. Lần đầu tiên bạn chạy lệnh, nó sẽ tạo một công cụ và lưu vào bộ đệm
(thường dưới /var/tmp/.guestfs-*). Các lần chạy tiếp theo sẽ sử dụng lại công cụ đã lưu trong bộ nhớ đệm.

Dự kiến các kết quả

Bạn sẽ nhận được thời gian dưới 6 giây. Nếu số lần bạn nhìn thấy trên một
máy chưa dỡ ở trên này thì xem phần "XỬ LÝ SỰ CỐ HIỆU SUẤT KÉM"
phía dưới.

Đường cơ sở: Thực hiện kiểm tra of a khách sạn
Đối với thử nghiệm này, bạn sẽ cần một máy chưa tải và ít nhất một ảnh đĩa hoặc khách thực.
Nếu bạn định sử dụng libguestfs chỉ với X khách (ví dụ: X = Windows), thì hãy sử dụng
một vị khách X ở đây sẽ là thích hợp nhất. Nếu bạn định chạy libguestfs chống lại
một nhóm khách, sau đó sử dụng một nhóm khách để thử nghiệm tại đây.

Thời gian thực hiện kiểm tra và mount ổ đĩa của khách là bao lâu. Sử dụng
lệnh đầu tiên nếu bạn định sử dụng ảnh đĩa và lệnh thứ hai nếu bạn định sử dụng
sử dụng libvirt.

time guestfish --ro -a disk.img -i exit

thời gian guestfish --ro -d GuestName -i thoát

Chạy lệnh nhiều lần liên tiếp và loại bỏ vài lần chạy đầu tiên để bạn
đo trường hợp "bộ đệm nóng" điển hình.

Giải thích

Lệnh này khởi động công cụ libguestfs trên ảnh đĩa được đặt tên hoặc máy khách libvirt,
thực hiện kiểm tra libguestfs trên nó (xem "KIỂM TRA" trong khách mời(3)), gắn kết của khách
đĩa, sau đó loại bỏ tất cả các kết quả này và tắt.

Lần đầu tiên bạn chạy lệnh, nó sẽ tạo một công cụ và lưu vào bộ đệm (thường là
Dưới /var/tmp/.guestfs-*). Các lần chạy tiếp theo sẽ sử dụng lại công cụ đã lưu trong bộ nhớ đệm.

Dự kiến các kết quả

Bạn nên mong đợi thời gian lớn hơn 5 giây so với đo ở đường cơ sở đầu tiên
kiểm tra ở trên. (Ví dụ: nếu thử nghiệm cơ bản đầu tiên chạy trong 5 giây thì thử nghiệm này
sẽ chạy trong 10 giây).

HIỂU CÁC ÁP DỤNG KHI IT IS ĐƯỢC XÂY/ĐĂNG NHỚ


Lần đầu tiên bạn sử dụng libguestfs, nó sẽ xây dựng và lưu vào bộ đệm một công cụ. Đây thường là
in /var/tmp/.guestfs-*, trừ khi bạn đã đặt $TMPDIR hoặc $LIBGUESTFS_CACHEDIR trong trường hợp đó
nó sẽ nằm trong thư mục tạm thời đó.

Để biết thêm thông tin về cách thiết bị được cấu tạo, hãy xem "THIẾT BỊ SUPERMIN" trong
siêu nhân(1).

Mỗi khi libguestfs chạy nó sẽ kiểm tra xem không có tệp máy chủ nào được công cụ sử dụng có
đã thay đổi. Nếu có thì thiết bị sẽ được xây dựng lại. Điều này thường xảy ra khi một gói
được cài đặt hoặc cập nhật trên máy chủ (ví dụ: sử dụng các chương trình như "yum" hoặc "apt-get"). Các
Lý do xây dựng lại thiết bị là vì vấn đề bảo mật: chương trình mới đã được
được cài đặt có thể chứa bản sửa lỗi bảo mật và vì vậy chúng tôi muốn đưa chương trình đã sửa lỗi vào
thiết bị tự động.

Đây là những tác động về hiệu suất:

· Quá trình xây dựng (hoặc xây dựng lại) công cụ được lưu trong bộ nhớ đệm diễn ra chậm và bạn có thể
tránh điều này xảy ra bằng cách sử dụng một thiết bị cố định (xem bên dưới).

· Nếu không sử dụng thiết bị cố định, hãy lưu ý rằng việc cập nhật phần mềm trên máy chủ sẽ gây ra
xây dựng lại thiết bị một lần.

· / var / tmp (hoặc $TMPDIR, $LIBGUESTFS_CACHEDIR) phải ở trên một đĩa nhanh và có nhiều
không gian cho thiết bị.

SỬ DỤNG A FIXED ÁP DỤNG


Để kiểm soát hoàn toàn thời điểm thiết bị được xây dựng, bạn có thể xây dựng một thiết bị cố định. Cái này
thiết bị nên được lưu trữ trên một đĩa cục bộ nhanh.

Để xây dựng thiết bị, hãy chạy lệnh:

libguestfs-make-cố định-thiết bị

thay thế " " với tên của thư mục nơi công cụ sẽ được lưu trữ
(thông thường bạn sẽ đặt tên cho thư mục con, ví dụ: /usr/local/lib/guestfs/thiết bị or
/dev/shm/thiết bị).

Sau đó đặt $LIBGUESTFS_PATH (và đảm bảo biến môi trường này được đặt trong libguestfs của bạn
chương trình) hoặc sửa đổi chương trình của bạn để nó gọi là "guestfs_set_path". Ví dụ:

xuất LIBGUESTFS_PATH = / usr / local / lib / guestfs / Dụng cụ

Bây giờ bạn có thể chạy các chương trình libguestfs, công cụ virt, guestfish, v.v. như bình thường. Các chương trình
sẽ sử dụng thiết bị cố định của bạn và sẽ không bao giờ xây dựng, xây dựng lại hoặc lưu vào bộ nhớ đệm của riêng chúng
thiết bị.

(Để biết thông tin chi tiết về chủ đề này, xem: libguestfs-make-fixed-device(1)).

HIỆU QUẢ of các cố định thiết bị
Trong thử nghiệm của chúng tôi, chúng tôi không nhận thấy rằng việc sử dụng một thiết bị cố định mang lại bất kỳ kết quả nào có thể đo lường được.
lợi ích về hiệu suất, ngay cả khi thiết bị được đặt trong bộ nhớ (tức là trên / dev / shm).
Tuy nhiên có hai điểm cần xem xét:

1. Việc sử dụng một thiết bị cố định sẽ ngăn libguestfs xây dựng lại thiết bị, nghĩa là
libguestfs đó sẽ có thời gian khởi động dễ dự đoán hơn.

2. Thiết bị được nạp theo yêu cầu. Một bài kiểm tra đơn giản như:

time guestfish -a /dev/null run

không tải nhiều thiết bị. Một chương trình libguestfs thực sự sử dụng phức tạp
Các cuộc gọi API sẽ yêu cầu tải nhiều thiết bị hơn. Có khả năng lưu trữ các
thiết bị ở một vị trí cụ thể làm cho hiệu suất dễ dự đoán hơn.

GIẢM CÁC CON SỐ OF TIMES CÁC ÁP DỤNG IS ĐÃ RA MẮT


Cho đến nay, cách hiệu quả nhất, mặc dù không phải lúc nào cũng đơn giản nhất để đạt được hiệu suất tốt là
để đảm bảo rằng thiết bị được khởi chạy với số lần tối thiểu. Điều này có thể sẽ
liên quan đến việc thay đổi ứng dụng libguestfs của bạn.

Cố gắng gọi "guestfs_launch" nhiều nhất một lần cho mỗi máy ảo hoặc ảnh đĩa đích.

Thay vì sử dụng một phiên bản riêng biệt của cá khách(1) thực hiện một loạt thay đổi đối với
cùng một khách, sử dụng một phiên bản duy nhất của guestfish và/hoặc sử dụng guestfish --nghe tùy chọn.

Hãy cân nhắc việc viết chương trình của bạn như một daemon để giữ một vị khách trong khi tạo một chuỗi
của những thay đổi. Hoặc sắp xếp tất cả các thao tác bạn muốn thực hiện trước khi mở cửa cho khách.

Bạn cũng có thể thử thêm đĩa từ nhiều khách vào một thiết bị. Trước khi thử
này, hãy lưu ý những điểm sau:

1. Việc thêm nhiều khách vào một thiết bị là một vấn đề bảo mật vì nó có thể cho phép một
khách can thiệp vào đĩa của khách khác. Chỉ làm điều đó nếu bạn tin tưởng tất cả
khách hoặc liệu bạn có thể nhóm khách theo mức độ tin cậy hay không.

2. Có giới hạn cứng về số lượng đĩa bạn có thể thêm vào một thiết bị. Gọi
"guestfs_max_disks" trong khách mời(3) để có được giới hạn này. Để biết thêm thông tin xem
"GIỚI HẠN" trong khách mời(3).

3. Sử dụng libguestfs theo cách này rất phức tạp. Đĩa có thể có những tương tác không mong muốn: đối với
ví dụ: nếu hai khách sử dụng cùng một UUID cho một hệ thống tệp (vì chúng được sao chép),
hoặc có các nhóm âm lượng có cùng tên (nhưng xem "guestfs_lvm_set_filter").

đạo đức(1) theo mặc định thêm nhiều đĩa, vì vậy mã nguồn của chương trình này sẽ là một
nơi tốt để bắt đầu

SỰ LÀM NGẮN LẠI CÁC THỜI GIAN LẤY CHO THANH TRA OF Máy ảo


Lời khuyên chính rất rõ ràng: Không thực hiện kiểm tra (việc này tốn kém) trừ khi bạn cần
kết quả.

Nếu trước đây bạn đã thực hiện kiểm tra khách thì việc lưu vào bộ nhớ đệm và
sử dụng lại kết quả của lần trước.

Một số đĩa hoàn toàn không cần phải kiểm tra: ví dụ: nếu bạn đang tạo một đĩa
hình ảnh hoặc nếu hình ảnh đĩa không phải là VM hoặc nếu hình ảnh đĩa có bố cục đã biết.

Ngay cả khi cần phải kiểm tra cơ bản ("guestfs_inspect_os"), kiểm tra phụ
hoạt động có thể tránh được:

· Việc gắn đĩa chỉ cần thiết để có thêm thông tin về hệ thống tập tin.

· Liệt kê các ứng dụng ("guestfs_inspect_list_applications") là một hoạt động tốn kém
trên Linux, nhưng gần như miễn phí trên Windows.

· Tạo biểu tượng khách ("guestfs_inspect_get_icon") rẻ trên Linux nhưng đắt
trên Windows.

SONG SONG, TƯƠNG ĐÔNG ỨNG DỤNG


Các thiết bị Libguestfs chủ yếu bị ràng buộc I/O và bạn có thể khởi chạy nhiều thiết bị trong
song song. Miễn là có đủ bộ nhớ trống thì sẽ có rất ít sự khác biệt về
khởi chạy song song 1 thiết bị và N thiết bị.

Trên máy tính xách tay 2 lõi (4 luồng) có RAM 16 GB, sử dụng bài kiểm tra (không đặc biệt thực tế)
Tập lệnh Perl bên dưới, sơ đồ sau cho thấy khả năng mở rộng tuyệt vời khi chạy giữa 1
và 20 thiết bị song song:

12 ++---+----+----+----+------+----+----+----+----+-- -++
+ + + + + + + + + + *
| |
| * |
11++++
| |
| |
| * * |
10++++
| * |
| |
s | |
9++++
e | |
| * |
c | |
8++*++
o | * |
| |
n 7++++
| * |
d | * |
| |
giây 6++++
| * * |
| * |
| |
5++++
| |
| * |
| * * |
4++++
| |
| |
+ * * * + + + + + + + +
3 ++-*-+----+----+----+------+----+----+----+----+-- -++
0 2 4 6 8 10 12 14 16 18
số lượng thiết bị song song

Có thể chạy song song hơn 20 thiết bị, nhưng nếu bạn đang sử dụng
libvirt phụ trợ thì bạn nên lưu ý rằng libvirt vượt trội sẽ giới hạn số lượng
kết nối khách hàng đến 20.

Tập lệnh Perl đơn giản bên dưới được sử dụng để thu thập dữ liệu cho biểu đồ trên, nhưng có
nhiều thông tin hơn về chủ đề này, bao gồm các kịch bản và biểu đồ kiểm tra nâng cao hơn,
có sẵn trong các bài viết blog sau đây:

http://rwmj.wordpress.com/2013/02/25/multiple-libguestfs-appliances-in-parallel-part-1/
http://rwmj.wordpress.com/2013/02/25/multiple-libguestfs-appliances-in-parallel-part-2/
http://rwmj.wordpress.com/2013/02/25/multiple-libguestfs-appliances-in-parallel-part-3/
http://rwmj.wordpress.com/2013/02/25/multiple-libguestfs-appliances-in-parallel-part-4/

#!/ usr / bin / env perl

Sử dụng nghiêm ngặt;
sử dụng chủ đề;
cảnh báo sử dụng;
sử dụng Sys::Guestfs;
sử dụng Thời gian::HiRes qw(thời gian);

bài kiểm tra phụ {
$g của tôi = Sys::Guestfs->mới;
$g->add_drive_ro ("/dev/null");
$g->khởi chạy ();

# Bạn có thể thêm một số công việc để libguestfs thực hiện tại đây.

$g->đóng ();
}

# Đưa mọi thứ vào bộ đệm.
Bài kiểm tra (); Bài kiểm tra (); Bài kiểm tra ();

cho $nr_threads (1..20) của tôi {
$start_t = thời gian của tôi ();
@thread của tôi;
foreach (1..$nr_threads) {
đẩy @threads, chủ đề->tạo (\&test)
}
foreach (@threads) {
$_->tham gia ();
if ($err của tôi = $_->error ()) {
die "khởi chạy thất bại với chủ đề $nr_threads: $err"
}
}
$end_t = thời gian của tôi ();
printf ("%d %.2f\n", $nr_threads, $end_t - $start_t);
}

SỬ DỤNG CHẾ ĐỘ NGƯỜI DÙNG LINUX


Kể từ libguestfs 1.24, có thể sử dụng chương trình phụ trợ Linux Chế độ người dùng (uml)
thay vì KVM (xem "CHẾ ĐỘ NGƯỜI DÙNG LINUX BACKEND" trong khách mời(3)). Phần này làm cho một số
nhận xét chung về phần phụ trợ này, nhưng nó là cao có thể khuyên bảo để đo lường riêng của bạn
khối lượng công việc theo UML thay vì tin tưởng vào nhận xét hoặc trực giác.

· UML thường hoạt động tương tự hoặc chậm hơn một chút so với KVM trên kim loại trần.

· Tuy nhiên UML thường thực hiện tương tự trong ảo hóa như trên baremetal,
trong khi KVM có thể chạy chậm hơn nhiều khi ảo hóa (vì khả năng tăng tốc phần cứng
không có sẵn).

· Tải lên và tải xuống trên UML chậm hơn 10 lần so với KVM. Libguestfs gửi
dữ liệu này qua cổng nối tiếp được mô phỏng UML, kém hiệu quả hơn nhiều so với KVM
virtio-serial.

· UML thiếu một số tính năng (ví dụ: hỗ trợ qcow2), vì vậy nó có thể không áp dụng được.

Để biết một số số liệu thực tế, xem:
http://rwmj.wordpress.com/2013/08/14/performance-of-user-mode-linux-as-a-libguestfs-backend/# content

Giải đáp thắc mắc NGHÈO THI


Đảm bảo phần cứng ảo hóa is có sẵn
Sử dụng / proc / cpuinfo và trang này:

http://virt-tools.org/learning/check-hardware-virt/

để đảm bảo rằng ảo hóa phần cứng có sẵn. Lưu ý rằng bạn có thể cần phải kích hoạt nó
trong BIOS của bạn.

Virt phần cứng thường không có sẵn bên trong VM và libguestfs sẽ chạy chậm bên trong
một máy ảo khác bất kể bạn làm gì. Ảo hóa lồng nhau không hoạt động tốt trong
kinh nghiệm và chắc chắn không thể thay thế cho việc chạy libguestfs trên baremetal.

Đảm bảo KVM is có sẵn
Đảm bảo rằng KVM được bật và có sẵn cho người dùng sẽ chạy libguestfs. Nó nên
hãy an toàn khi đặt quyền 0666 trên / dev / kvm và hầu hết các bản phân phối hiện nay đều thực hiện việc này.

Bộ vi xử lý đến tránh
Tránh các bộ xử lý không có ảo hóa phần cứng và một số bộ xử lý
đơn giản là rất chậm (AMD Geode là một ví dụ tuyệt vời).

Xen dom0
Trong Xen, dom0 là một máy ảo nên không thể ảo hóa phần cứng.

CHI TIẾT THỜI GIAN SỬ DỤNG TS


Sử dụng ts(1) lệnh (từ moreutils) để hiển thị thời gian chi tiết:

$ guestfish -a /dev/null run -v |& ts -i '%.s'
0.000022 libguestfs: khởi chạy: chương trình=khách
0.000134 libguestfs: khởi chạy: phiên bản=1.29.31fedora=23,release=2.fc23,libvirt
0.000044 libguestfs: khởi chạy: đăng ký phụ trợ: unix
0.000035 libguestfs: khởi chạy: đăng ký phụ trợ: uml
0.000035 libguestfs: khởi chạy: đăng ký phụ trợ: libvirt
0.000032 libguestfs: khởi chạy: đăng ký phụ trợ: trực tiếp
0.000030 libguestfs: khởi chạy: backend=libvirt
0.000031 libguestfs: khởi chạy: tmpdir=/tmp/libguestfsw18rBQ
0.000029 libguestfs: khởi chạy: umask=0002
0.000031 libguestfs: khởi chạy: euid=1000
0.000030 libguestfs: phiên bản libvirt = 1002012 (1.2.12)
[Vân vân]

Dấu thời gian là giây (tăng dần kể từ dòng trước).

CHI TIẾT THỜI GIAN SỬ DỤNG BẢNG HỆ THỐNG


Bạn có thể sử dụng SystemTap (ghim(1)) để nhận thời gian chi tiết từ các chương trình libguestfs.

Lưu tập lệnh sau thành thời gian.stap:

toàn cầu cuối cùng;

hàm display_time () {
bây giờ = gettimeofday_us ();
đồng bằng = 0;
nếu (cuối > 0)
delta = bây giờ - cuối cùng;
cuối cùng = bây giờ;

printf ("%d (+%d):", bây giờ, delta);
}

bắt đầu thăm dò {
cuối cùng = 0;
printf ("sẵn sàng\n");
}

/* Hiển thị tất cả các cuộc gọi đến các điểm đánh dấu tĩnh. */
quá trình thăm dò ("/ Usr / lib*/libguestfs.so.0")
.provider("guestfs").mark("*") ? {
hiển thị thời gian();
printf ("\t%s %s\n", $$name, $$parms);
}

/* Hiển thị tất cả lệnh gọi tới các hàm guestfs_*. */
quá trình thăm dò ("/ Usr / lib*/libguestfs.so.0")
.function("guestfs_[az]*") ? {
hiển thị thời gian();
printf ("\t%s %s\n", thăm dòfunc(), $$parms);
}

Chạy nó với quyền root trong một cửa sổ:

# dừng thời gian.stap
sẵn sàng

Nó in "sẵn sàng" khi SystemTap tải chương trình. Chạy chương trình libguestfs của bạn,
guestfish hoặc một công cụ tài năng trong một cửa sổ khác. Ví dụ:

$ guestfish -a /dev/null run

Trong cửa sổ dừng lại, bạn sẽ thấy một lượng lớn đầu ra, cùng với thời gian dành cho mỗi đầu ra.
bước hiển thị (micro giây trong ngoặc đơn). Ví dụ:

xxxx (+0): guestfs_create
xxxx (+29): guestfs_set_pgroup g=0x17a9de0 pgroup=0x1
xxxx (+9): guestfs_add_drive_opts_argv g=0x17a9de0 [...]
xxxx (+8): guestfs_int_safe_strdup g=0x17a9de0 str=0x7f8a153bed5d
xxxx (+19): guestfs_int_safe_malloc g=0x17a9de0 nbytes=0x38
xxxx (+5): guestfs_int_safe_strdup g=0x17a9de0 str=0x17a9f60
xxxx (+10): guestfs_launch g=0x17a9de0
xxxx (+4): launch_start
[Vân vân]

Bạn sẽ cần tham khảo và thậm chí sửa đổi nguồn thành libguestfs để hiểu đầy đủ
đầu ra.

CHI TIẾT NỢ SỬ DỤNG GDB


Bạn có thể đính kèm vào BIOS/kernel của thiết bị bằng gdb. Nếu bạn biết bạn đang làm gì,
đây có thể là một cách hữu ích để chẩn đoán hồi quy khởi động.

Đầu tiên, bạn phải thay đổi qemu để nó chạy với các tùy chọn "-S" và "-s". Những lựa chọn này
khiến qemu tạm dừng khi khởi động và cho phép bạn đính kèm trình gỡ lỗi. Đọc Ái chà(1) để biết thêm
thông tin. Libguestfs gọi qemu nhiều lần (để quét đầu ra trợ giúp, v.v.)
và bạn chỉ muốn lệnh gọi qemu cuối cùng sử dụng các tùy chọn này, vì vậy hãy sử dụng trình bao bọc qemu
script như thế này:

#!/ bin / bash -

# Đặt cái này để trỏ đến nhị phân qemu thực.
qemu=/usr/bin/qemu-kvm

if [ "$1" != "-global" ]; sau đó
# Đầu ra trợ giúp quét, v.v.
thực thi $qemu "$@"
khác
# Thực sự đang chạy qemu.
thực thi $qemu -S -s "$@"
fi

Bây giờ hãy chạy guestfish hoặc một công cụ libguestfs khác với trình bao bọc qemu (xem "QEMU Wrappers" trong
khách mời(3) để hiểu điều này đang làm gì):

LIBGUESTFS_HV=/path/to/qemu-wrapper guestfish -a /dev/null -v run

Quá trình này sẽ tạm dừng ngay sau khi qemu ra mắt. Trong một cửa sổ khác, đính kèm vào qemu bằng gdb:

$gdb
(gdb) thiết lập kiến ​​trúc i8086
Kiến trúc đích được giả định là i8086
(gdb) mục tiêu từ xa: 1234
Gỡ lỗi từ xa bằng cách sử dụng :1234
0x0000fff0 trong ?? ()
(gdb) tiếp

Tại thời điểm này, bạn có thể sử dụng các kỹ thuật gdb tiêu chuẩn, vd. nhấn "^C" để làm gián đoạn quá trình khởi động
và "bt" lấy dấu vết ngăn xếp, đặt điểm dừng, v.v. Lưu ý rằng khi bạn vượt qua
BIOS và nhân Linux, bạn sẽ muốn thay đổi kiến ​​trúc về 32 hoặc 64
bit

Sử dụng guestfs-performance trực tuyến bằng dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    facetracknoir
    facetracknoir
    Chương trình theo dõi mô-đun
    hỗ trợ nhiều trình theo dõi khuôn mặt, bộ lọc
    và giao thức trò chơi. Trong số những người theo dõi
    là SM FaceAPI, AIC Inertial Head
    Trình theo dõi ...
    Tải xuống facetracknoir
  • 2
    Mã QR PHP
    Mã QR PHP
    PHP QR Code là mã nguồn mở (LGPL)
    thư viện để tạo mã QR,
    Mã vạch 2 chiều. Dựa trên
    thư viện libqrencode C, cung cấp API cho
    tạo mã QR mã vạch ...
    Tải xuống mã QR PHP
  • 3
    freeciv
    freeciv
    Freeciv là một trò chơi miễn phí theo lượt
    trò chơi chiến lược nhiều người chơi, trong đó mỗi
    người chơi trở thành lãnh đạo của một
    nền văn minh, chiến đấu để đạt được
    mục tiêu cuối cùng: trở thành ...
    Tải xuống Freeciv
  • 4
    Hộp cát cúc cu
    Hộp cát cúc cu
    Cuckoo Sandbox sử dụng các thành phần để
    theo dõi hành vi của phần mềm độc hại trong một
    Môi trường hộp cát; bị cô lập khỏi
    phần còn lại của hệ thống. Nó cung cấp tự động
    phân tích v...
    Tải xuống Cuckoo Sandbox
  • 5
    LMS-YouTube
    LMS-YouTube
    Phát video YouTube trên LMS (chuyển
    Triode's to YouTbe API v3) Đây là
    một ứng dụng cũng có thể được tìm nạp
    từ
    https://sourceforge.net/projects/lms-y...
    Tải xuống LMS-YouTube
  • 6
    Windows Presentation Foundation
    Windows Presentation Foundation
    Nền tảng trình bày Windows (WPF)
    là một khung giao diện người dùng để xây dựng Windows
    ứng dụng máy tính để bàn. WPF hỗ trợ một
    tập hợp phát triển ứng dụng rộng rãi
    Tính năng, đặc điểm...
    Tải xuống Nền tảng trình bày Windows
  • Khác »

Lệnh Linux

Ad