<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Cách chỉ định lõi CPU trong Linux với Taskset</title>
<meta name="description" content="Cách chỉ định lõi CPU trong Linux với Taskset - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Cách chỉ định lõi CPU trong Linux với Taskset">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;cach-chi-dinh-loi-cpu-trong-linux-voi-taskset-3360.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-chi-dinh-loi-cpu-trong-linux-voi-taskset-3360.html">
<link rel="shortcut icon" href="https://www.nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-chi-dinh-loi-cpu-trong-linux-voi-taskset-3360.html">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://www.nguoicodonvn2008.info/">https://www.nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Cách chỉ định lõi CPU trong Linux với Taskset</h1>
		<ul class="list-inline">
			<li>Thứ sáu - 01/01/2021 10:04</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Cách chỉ định lõi CPU trong Linux với Taskset" src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-2.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Xử lý đa lõi có thể mang lại nhiều lợi ích và cả những hạn chế. Đôi khi bạn cần chỉ định thủ công lõi CPU cho các chương trình để đạt được hiệu suất tốt nhất. Trong Linux, công cụ chính cho mục đích này là taskset. Điều này nghe có vẻ đáng sợ, nhưng bài viết sẽ chia nhỏ thành các bước để đơn giản hóa quy trình.</p>

<h2 style="text-align: justify;">Kiến thức cơ bản về taskset</h2>

<p style="text-align: justify;">Việc sử dụng taskset có thể được chia thành hai phần: Mối quan hệ của CPU với các chương trình sẽ được khởi chạy và với những chương trình đã chạy. Việc khởi chạy chương trình dễ dàng hơn, vì vậy hãy bắt đầu từ đó. Lệnh khởi chạy có dạng như sau:</p>

<pre id="pre0">
<code>taskset -c số-lõi-cpu ứng-dụng</code></pre>

<p style="text-align: justify;">Trước khi bạn nhập số lõi CPU muốn chỉ định, đừng quên rằng lược đồ đánh số Unix thường bắt đầu từ 0, vì vậy lõi đầu tiên của bạn sẽ là 0, lõi thứ hai là 1, v.v... Như vậy, máy lõi kép sẽ có lõi 0 và 1, còn máy lõi tứ sẽ có lõi 0, 1, 2 và 3.</p>

<p style="text-align: justify;">Giả sử bạn muốn chạy Audacity trên hệ thống lõi kép và bạn muốn nó chạy trên lõi thứ hai. Lệnh sẽ là:</p>

<pre id="pre1">
<code>taskset -c 1 audacity</code></pre>

<div style="text-align: justify;">&nbsp;</div>

<h2 style="text-align: justify;">Sử dụng nhiều lõi</h2>

<p style="text-align: justify;">Trên một trong các máy thử nghiệm, Chrome đôi khi sẽ gặp hiện tượng drop frame khi phát trực tuyến video nhưng sẽ không sao nếu được gán cho 2 lõi. Nếu bạn muốn thử điều tương tự trên hệ thống lõi tứ và muốn gán Chrome cho lõi 3 và 4, lệnh sẽ là:</p>

<pre id="pre2">
<code>taskset -c 2,3 google-chrome</code></pre>

<p style="text-align: justify;">Bạn không phải chỉ định CPU theo tuần tự mà có thể chọn ngẫu nhiên bất kỳ lõi nào. Giả sử bạn có một máy 6 lõi và muốn sử dụng Chrome trên lõi 2 và 6. Bạn sẽ nhập lệnh:</p>

<pre id="pre3">
<code>taskset -c 1,5 google-chrome</code></pre>

<p style="text-align: justify;">Bạn cũng có thể sử dụng dấu gạch ngang để trải rộng một ứng dụng trên một số lõi. Ví dụ, nhiều chương trình cũ hoặc các chức năng hệ thống sẽ mặc định nằm trên lõi đầu tiên. Điều gì sẽ xảy ra nếu bạn muốn để lõi đầu tiên càng trống bao nhiêu càng tốt, trong khi trải rộng một ứng dụng lớn trên tất cả các lõi khác?</p>

<p style="text-align: justify;">Giả sử bạn có một hệ thống 8 lõi và muốn chạy Steam từ lõi thứ 2 đến lõi thứ 8. Lệnh đó sẽ là:</p>

<pre id="pre4">
<code>taskset -c 1-7 steam</code></pre>

<ul>
	<li style="text-align: justify;"><a href="https://quantrimang.com/cach-kiem-tra-hieu-nang-linux-server-don-gian-162947" title="Cách kiểm tra hiệu năng Linux server đơn giản">Cách kiểm tra hiệu năng Linux server đơn giản</a></li>
</ul>

<h2 style="text-align: justify;">Thay đổi lõi cho một chương trình đã khởi chạy</h2>

<p style="text-align: justify;">Taskset không chỉ giới hạn ở việc khởi chạy ứng dụng. Bạn cũng có thể thay đổi lõi CPU cho một chương trình đã chạy. Tuy nhiên, trước khi có thể thay đổi lõi cho ứng dụng, trước tiên bạn cần biết ID tiến trình của ứng dụng đó (gọi tắt là PID).</p>

<p style="text-align: justify;">Để tìm ra PID của ứng dụng, bạn có thể thử sử dụng công cụ System Monitor của desktop, nhưng cách nhanh nhất là sử dụng&nbsp;<strong>top.</strong></p>

<pre id="pre5">
<code>top</code></pre>

<p style="text-align: justify;">Tên của tất cả các lệnh đang chạy nằm ở phía bên phải của màn hình. Các ID tiến trình tương ứng nằm ở bên trái.</p>

<figure>
<div style="text-align: justify;"><img alt="Tìm ID tiến trình của ứng dụng" data-i="0" data-src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-1.jpg" data-was-processed="true" height="448" src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-1.jpg" width="500" /></div>

<figcaption>
<div style="text-align: justify;">Tìm ID tiến trình của ứng dụng</div>
</figcaption>
</figure>

<p style="text-align: justify;">Ghi lại PID vì bạn sẽ sử dụng nó trong giây lát. Đối với ví dụ này, bài viết sẽ sử dụng VLC, đang phát video Matroska độ nét cao trên PC cũ có 6 lõi. Các lõi CPU khác nhau đang được thử nghiệm để có được hiệu suất tốt nhất từ ​​VLC.</p>

<p style="text-align: justify;">Để thay đổi mối lõi cho một tiến trình hiện có, cú pháp trông giống như sau:</p>

<pre id="pre6">
<code>taskset -cp core-numbers PID</code></pre>

<p style="text-align: justify;">Như bạn có thể thấy ảnh chụp màn hình ở trên, thì ID tiến trình của VLC là 20485. Ví dụ sẽ thử chạy VLC trên lõi thứ 4, thứ 5 và thứ 6, theo đánh số Unix sẽ là 3-5. Vì vậy, lệnh sẽ là:</p>

<pre id="pre7">
<code>taskset -cp 3-5 20485</code></pre>

<p style="text-align: justify;">Nhưng nếu bạn muốn kiểm tra lõi hiện có trước khi thay đổi nó thì sao? Để làm điều đó, đừng nhập bất kỳ số lõi nào và taskset sẽ cho bạn biết lõi nào được chỉ định. Lệnh thay đổi thành:</p>

<pre id="pre8">
<code>taskset -cp 20485</code></pre>

<p style="text-align: justify;">Nó cho thấy rằng VLC trải rộng trên tất cả các lõi.</p>

<figure>
<div style="text-align: justify;"><img alt="VLC trải rộng trên tất cả các lõi" data-i="1" data-src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-2.jpg" data-was-processed="true" height="155" src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-2.jpg" width="379" /></div>

<figcaption>
<div style="text-align: justify;">VLC trải rộng trên tất cả các lõi</div>
</figcaption>
</figure>

<p style="text-align: justify;">Hãy thử lại điều đó với một chương trình khác. Giả sử ví dụ chạy một Matroska lớn với SMPlayer để thay thế và SMPlayer đã được khởi chạy. Top cho biết PID là 16058.</p>

<figure>
<div style="text-align: justify;"><img alt="Top cho biết PID là 16058" data-i="2" data-src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-3.jpg" data-was-processed="true" height="390" src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-3.jpg" width="500" /></div>

<figcaption>
<div style="text-align: justify;">Top cho biết PID là 16058</div>
</figcaption>
</figure>

<p style="text-align: justify;">Nhưng trước tiên ta muốn biết lõi hiện có của nó. Sử dụng lệnh với switch&nbsp;<strong>-cp</strong>&nbsp;nhưng không có số lõi, bạn có thể thấy chương trình đang trải rộng trên tất cả các lõi.</p>

<figure>
<div style="text-align: justify;"><img alt="Chương trình đang trải rộng trên tất cả các lõi" data-i="3" data-src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-4.jpg" data-was-processed="true" height="135" src="https://st.quantrimang.com/photos/image/2020/12/29/chi-dinh-loi-cpu-voi-taskset-4.jpg" width="395" /></div>

<figcaption>
<div style="text-align: justify;">Chương trình đang trải rộng trên tất cả các lõi</div>
</figcaption>
</figure>

<p style="text-align: justify;">Bây giờ, bạn có thể thử trải rộng SMPlayer trên 3 lõi giống như thử nghiệm VLC bằng lệnh:</p>

<pre id="pre9">
<code>taskset -cp 3-5 16058</code></pre>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-chi-dinh-loi-cpu-trong-linux-voi-taskset-3360.html" title="Cách chỉ định lõi CPU trong Linux với Taskset">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/cach-chi-dinh-loi-cpu-trong-linux-voi-taskset-3360.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://www.nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://www.nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://www.nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://www.nguoicodonvn2008.info",
            "logo": "https://www.nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>