리눅스는 평균 부팅시 얼마나 많은 데이터를 읽습니까? 궁금합니다. 모든 구성 파일 읽기, 바이너리로드,

가상 콘솔 쉘 프롬프트를 얻기 위해 새로 설치된 바닐라 Linux 시스템 (예 : 32 비트 CentOS 5.10)이 얼마나 많은 데이터를 읽는지 궁금합니다. 모든 구성 파일 읽기, 바이너리로드, 커널 이미지 등을 알고 있습니다.

크기 차수 추정치를 찾고 있습니다. 프로세스의 세부 사항과 관련하여 Linux 부팅이 크게 다르다는 것을 알고 있습니다. 우리는 10Mb를 말하고 있습니까? 100MB? 1GB?



답변

하나의 시스템을 설치하고 부팅 한 후 /sys/block/${DEV}/stat예 를 들어 블록 계층 통계를 확인하십시오 /sys/block/sda/stat.

문서 에서 인용 :

stat 파일은 공백으로 구분 된 11 개의 10 진수 값을 포함하는 한 줄의 텍스트로 구성됩니다. 필드는 다음 표에 요약되어 있으며 아래에 더 자세히 설명되어 있습니다.

Name            units         description
----            -----         -----------
read I/Os       requests      number of read I/Os processed
read merges     requests      number of read I/Os merged with in-queue I/O
read sectors    sectors       number of sectors read
read ticks      milliseconds  total wait time for read requests
write I/Os      requests      number of write I/Os processed
write merges    requests      number of write I/Os merged with in-queue I/O
write sectors   sectors       number of sectors written
write ticks     milliseconds  total wait time for write requests
in_flight       requests      number of I/Os currently in flight
io_ticks        milliseconds  total time this block device has been active
time_in_queue   milliseconds  total wait time for all requests

섹터 읽기, 섹터 쓰기

이 값은이 블록 장치에서 읽거나 쓴 섹터 수를 계산합니다. 문제의 “섹터”는 표준 UNIX 512 바이트 섹터이며 장치 또는 파일 시스템 별 블록 크기가 아닙니다. I / O가 완료되면 카운터가 증가합니다.

이 하나의 라이너를 사용하여 바이트 수를보다 쉽게 ​​얻을 수 있습니다.

awk '{printf("read %d bytes, wrote %d bytes\n", $3*512, $7*512)}' /sys/block/vda/stat

Scientific Linux 6.1 i386에 대한 결과

Scientific Linux 6.1 i386 (RHEL과 유사)을 실행하는 KVM / qemu 가상 머신에서이를 테스트했습니다 . acpid, auditd, crond, network, postfix, rsyslog, sshd 및 udev-post 서비스가 활성화되었습니다. 스왑은 별도의 디스크에 있으므로 고려되지 않습니다.

로그인 프롬프트가 나타난 후 몇 초 후에 SSH를 사용하여 85 개의 부트에 대한 통계는 다음과 같습니다.

    Name            Median   Average   Stdev
    -------------   ------   -------   -----
    read I/Os       1920     1920.2    2.6
    read merges     1158     1158.4    1.8
    read sectors    85322    85330.9   31.9
 >> read MiBytes    41.661   41.665    0.016
    read ticks      1165     1177.2    94.1
    write I/Os      33       32.6      1.7
    write merges    64       59.6      7.4
    write sectors   762      715.2     70.9
 >> write MiBytes   0.372    0.349     0.035
    write ticks     51       59.0      17.4
    in_flight       0        0.0       0.0
    io_ticks        895      909.9     57.8
    time_in_queue   1217     1235.2    98.5

부팅 시간은 약 20 초였습니다.


답변

귀하는 귀하의 의견에 netboot / 네트워크 루트 환경을 평가하고 있다고 말합니다.

가장 먼저 인식해야 할 것은 “vanilla”와 같은 것은 없다는 것입니다. CentOS 5.10을 전혀 변경하지 않고 바로 실행할 수는 없습니다. 피스타치오에 곁들인 적어도 딸기).

특정 환경 (실제로 중요한 것)에 대한 답변을 원할 경우 NFS 서버와 클라이언트 시스템을 설정하고 부팅하여 측정해야합니다.

  1. 양도 (수량)
  2. 처리량 (속도)

두 값 모두 성능에 매우 중요합니다. 또한 특정 시점에 여러 클라이언트 를 설정하고 일상적인 시스템 사용을 시뮬레이션 할 때 NFS 서버 / 네트워크에 어떤 종류의 정상 상태 요구가 있는지 확인하기 위해 시스템의 정상적인 사용을 시뮬레이션하고 싶을 것입니다. 작업.

참조 : 용량 계획에 대한 우리의 시리즈 우리가 NFS에 대해 구체적으로 이야기하지 않지만,의 일반 원칙 “을 빌드, 테스트는, 스트레스는”적용 -.