scheduling

Linux에서 Ftrace를 사용하여 예약 지연을 얻는 방법은 무엇입니까?
scheduling

Linux에서 Ftrace를 사용하여 예약 지연을 얻는 방법은 무엇입니까?

ftrace는 활성화되어 있지만 .ftrace는 활성화되지 않은 임베디드 Linux(kernel-5.10.24) 시스템을 개발 중입니다 perf. 시스템에서 추적을 확인한 결과 다음과 같은 정보를 얻었습니다. # ls /sys/kernel/tracing/events/sched/ -l total 0 -rw-r--r-- 1 root root 0 Jan 1 1970 enable -rw-r--r-- 1 root root 0 Jan 1 ...

Admin

CFS는 언제 새로운 작업을 예약합니까?
scheduling

CFS는 언제 새로운 작업을 예약합니까?

저는 "Three Easy Pieces"를 읽으면서 운영 체제에 대해 배우고 있는데 완벽하게 공정한 스케줄러에 관한 장에서 막혔습니다.여기,피. 8-10). 각 작업의 시간 조각은 장점/가중치를 기준으로 동적으로 계산되고, 각 작업의 런타임은 (또한 동적으로 계산된) vruntime을 통해 추적되며, 컨텍스트 전환이 발생하면 현재 vruntime이 가장 낮습니다. 다음 일정으로 잡자. 내가 이해하지 못하는 것은 OS가 컨텍스트 전환을 수행하기로 결정하는 경우입니다. 책의 한 부분에서는 다음과 같이 말...

Admin

코어 수와 더 높은 nice 값으로 프로세스를 실행하는 능력 사이에는 어떤 관계가 있습니까?
scheduling

코어 수와 더 높은 nice 값으로 프로세스를 실행하는 능력 사이에는 어떤 관계가 있습니까?

8개의 높은 우선 순위(nice=-20) OS 스레드(내가 가지고 있는 코어 수)로 CPU를 "플러딩"하면 명백한 이유로 작업이 "일시 중지"되지만 여전히 사용할 수 있습니다. "높은 우선순위 스레드"라고 말하는 것은 동일한 높은 우선순위 프로세스에 의해 생성된 스레드를 의미합니다. 그러나 64개의 스레드가 있으면 컴퓨터를 완전히 사용할 수 없게 됩니다. 최대 우선 순위 스레드와 코어 간 배포 사이의 관계는 무엇입니까? 주어진 좋은 값을 달성하기 위해 CPU를 완전히 플러딩하려면 얼마나 많은 스레드를...

Admin

스케줄러에 의해 pthread가 중단되는 것을 방지할 수 있습니까?
scheduling

스케줄러에 의해 pthread가 중단되는 것을 방지할 수 있습니까?

저는 4코어 ARM CPU를 사용하여 임베디드 실시간 Linux 장치를 작성하고 있습니다. 10kHz에서는 주기적인 계산이 필요하며, 이는 지터가 너무 심해져서 손실되어서는 안 됩니다. 내 POSIX 스레드는 사용 중인 루프에서 하드웨어가 제공하는 10kHz 토글 레지스터를 읽고 비트가 토글될 때 계산을 수행할 수 있습니다. SCHED_RR스케줄러가 pthread를 중단하는 것을 방지하기 위해 특별히 이 스레드에 대해 CPU 선호도를 코어 2로 설정하고 우선 순위를 99(최대)로 설정했습니다. 몇몇 ...

Admin

격리된 코어에서 이러한 프로세스를 확인해야 합니까?
scheduling

격리된 코어에서 이러한 프로세스를 확인해야 합니까?

내 Linux 버전이 예상대로 실행되고 있는지 확인하려고 합니다. isolcpusRISC-V SPIKE 시뮬레이터에서 시뮬레이션된 2코어 시스템 중 하나의 코어를 분리하기 위해 커널 명령줄 매개변수를 사용했습니다 . 중단 없이 격리된 코어에서 프로세스를 실행하고 싶습니다. Linux로 부팅하면 예상되는 콘텐츠가 /proc/cmdline포함됩니다 . isolcpus=1그러나 실행 중인 프로세스의 핵심 선호도를 확인하면 일부 프로세스가 여전히 CPU1에 있는 것을 볼 수 있습니다. ps -A -o pid...

Admin

Linux Mint: 업데이트를 설치하기 전에 타임시프트가 자동으로 스냅샷을 찍도록 할 수 있나요?
scheduling

Linux Mint: 업데이트를 설치하기 전에 타임시프트가 자동으로 스냅샷을 찍도록 할 수 있나요?

나는 편집증이 있기 때문에 업데이트를 자동으로 설치하기 직전에 Timeshift가 스냅샷을 찍기를 원합니다. 현재는 일일 스냅샷이 있고 업데이트를 수동으로 설치하도록 선택했지만 가능하다면 자동화를 선호합니다. Update Manager에는 이 옵션이 없는 것 같고 Timeshift도 없는 것 같아서 이를 스크립팅할 수 있는 방법이 있는지(저는 스크립팅이 처음입니다) 또는 그러한 기능을 활성화하는 데 사용할 수 있는 숨겨진 설정이 있는지 궁금합니다. 특징. 업데이트 자동 설치 시간을 설정하는 옵션이 표...

Admin

일광 절약 시간(DST) 시간 점프 및 회귀가 예약된 작업에 미치는 영향을 방지하는 방법
scheduling

일광 절약 시간(DST) 시간 점프 및 회귀가 예약된 작업에 미치는 영향을 방지하는 방법

시간대가 AEST(호주 동부 표준시)라고 가정하면 시간은 처음에는 오전 2시에서 오전 3시로 점프하고 끝에서는 오전 3시에서 오전 2시로 반전됩니다. 호주 정부 - 시간대 및 일광 절약 시간 일광 절약 시간은 10월 첫 번째 일요일 오전 2시에 시작되어 시계를 한 시간 앞으로 이동합니다. 4월 첫째 일요일은 오전 2시(오전 3시 일광 절약 시간제)에 끝나고 시계가 한 시간 앞으로 이동합니다. DST(겨울에서 여름) 시간이 변경되면 시간이 오전 2시에서 오전 3시로 이동합니다. 작업 실행이 이 ...

Admin

1ms 시간, CPU 바인딩 및 I/O 바인딩 작업, 컨텍스트 전환 시간 패널티가 있는 라운드 로빈 스케줄러를 사용하여 CPU 사용률을 계산합니다.
scheduling

1ms 시간, CPU 바인딩 및 I/O 바인딩 작업, 컨텍스트 전환 시간 패널티가 있는 라운드 로빈 스케줄러를 사용하여 CPU 사용률을 계산합니다.

10개의 I/O 바인딩 작업과 1개의 CPU 바인딩 작업을 실행하는 시스템을 생각해 보세요. I/O 집약적 작업이 CPU 컴퓨팅에서 밀리초마다 I/O 작업을 실행하고 각 I/O 작업을 완료하는 데 10밀리초가 걸린다고 가정합니다. 또한 컨텍스트 전환 오버헤드가 0.1밀리초이고 모든 프로세스가 장기 실행 작업이라고 가정합니다. 라운드 로빈 스케줄러를 사용하고 시간 분할이 1밀리초인 경우 CPU 사용률을 어떻게 계산합니까? 이미 망쳤기 때문에 CPU 사용률을 계산하는 방법을 모르겠습니다. 나는 올바른 ...

Admin

다른 사용자 공간 프로세스로 인한 pselect 지연
scheduling

다른 사용자 공간 프로세스로 인한 pselect 지연

나는 다음을 가지고 있습니다전제리눅스의 경우: 직렬 장치에서 pselect를 사용하여 직렬 데이터를 읽는 프로세스를 사용하고 있습니다 /dev/ttySX. 데이터는 400Hz의 안정적인 주파수로 입력됩니다. 이 프로세스의 대기 시간을 최적화하기 위해 몇 가지 조치를 사용했습니다. 읽기 스레드는 선호도를 사용하여 하나의 코어에 고정되어 있으며 해당 코어에서는 어떤 작업도 실행할 수 없습니다. 이는 cgroups/cpuset을 통해 수행됩니다. 읽기 스레드의 RT prio는 SCHED_FIFO 정책을...

Admin

Systemd를 사용하여 일시 중지 전후에 스크립트 실행
scheduling

Systemd를 사용하여 일시 중지 전후에 스크립트 실행

내가 찾은이 블로그 게시물은 여기에 있습니다.systemd를 사용하여 일시 중단하기 전후에 스크립트를 실행하는 과정을 설명합니다. 다음과 같이 진행하세요: 스크립트 를 생성합니다 /usr/lib/systemd/system-sleep/suspend-date.sh: #!/bin/sh if [ "${1}" == "pre" ]; then # Do the thing you want before suspend here, e.g.: echo "we are suspending at $(date)..." ...

Admin

udev by-id를 통해 IO 문제 예약
scheduling

udev by-id를 통해 IO 문제 예약

제목 그대로 룰을 이용하여 다양한 디스크를 삽입하여 부팅시부터 스케줄러를 설정해보려고 합니다 udev. 문제는 디스크가 고려되지 않은 것처럼 /dev/disk/by-idudev 규칙(항목)에서 id()로 표시된다는 것입니다. KERNEL==그러나 삽입하려고 하면 고전적인 명명법( sda)이 작동합니다. 디스크 ID/일련번호로 특정 스케줄러를 특정 디스크에 연결하는 방법은 무엇입니까 udev? ...

Admin

특수 작업/프로세스를 위해 코어 예약
scheduling

특수 작업/프로세스를 위해 코어 예약

진단을 위해 애플리케이션 전용으로 예약된 코어에서 애플리케이션을 실행하고 싶습니다. 저는 4코어(imx8) CPU를 가지고 있습니다. 따라서 이는 전체 시스템이 아닌 임베디드 장치입니다. 그래서 isolcpus=0,1,2 bootparam을 실행했는데 pid=1이 3이 아닌 0..2에서만 실행되는 것을 볼 수 있습니다. 이는 많은 프로세스에 해당되지만 전부는 아닙니다. 일부 프로세스는 이에 대해 신경 쓰지 않는 것 같습니다. 또한 작업 세트에서 이를 분리할 수도 없습니다. core3이 다른 어떤 것에...

Admin

프로세스 내 및 프로세스 간 컨텍스트 전환 빈도
scheduling

프로세스 내 및 프로세스 간 컨텍스트 전환 빈도

내가 읽고 있는 책(2013년)에 따르면 Linux 커널에서는 프로세스 내 전환이 프로세스 간 전환보다 훨씬 저렴하다고 나와 있습니다. 동일한 CPU에서 동일한 프로세스의 두 스레드 간에 전환하면 시간이 절약되기 때문입니다. 페이지 테이블 전환 비용. 따라서 동일한 프로세스의 두 스레드/작업 간 전환은 관련되지 않은 작업 간 전환보다 저렴합니다. Linux 커널은 성능 향상을 위해 프로세스 내 전환 가능성을 높이기 위해 어떤 방식으로든(프로세스 선호도 외에) 시도합니까? 그렇지 않다면 이런 일이 얼마...

Admin