정적 파일은 Linux에서 체크섬 값 변경을 제공합니다.

정적 파일은 Linux에서 체크섬 값 변경을 제공합니다.

대용량 파일(150MB)을 계산할 때 호출마다 다른 체크섬을 보고하는 경우가 많습니다.

$ cksum test3
1233504235 170213376 test3
$ cksum test3
825031809 170213376 test3
$ cksum test3
189847968 170213376 test3
$ cksum test3
1089532177 170213376 test3

이런 일이 계속해서 발생합니다/dev/shm그러나 디스크 기반 ext3 파일 시스템에서도 이러한 현상을 본 적이 있습니다.

나는 이 파일들이 확실하다.아니요확인하면서 작성했습니다.

이는 Debian 6 32비트에서 7 32비트로 업그레이드한 이후 문제가 되었지만 Debian 6 64비트에서도 비슷한 문제가 있었습니다(32비트를 다시 설치하면 문제가 해결되었습니다).

메모리가 여러 Memtest86+ 실행을 통과했습니다. 파일 시스템이 손상되었다는 표시는 없습니다.

설정해야 하는 BIOS 설정이 있습니까?

파일 시스템 플래그는 다음과 같습니다.

tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=2040740k)
/dev/disk/by-uuid/b236be25-6fe1-49f6-83a3-d295643666a4 on / type ext3 (rw,relatime,errors=remount-ro,barrier=1,data=ordered)

내 데이터 파일이 계속 손상되고 시스템을 사용할 수 없기 때문에 이로 인해 미칠 지경입니다.

고쳐 쓰다

이전 커널(2.6.32)에서 부팅하면 파일 손상을 방지할 수 있습니다. 또한 두 커널 모두 "getconf LONG_BIT"를 32로 보고하더라도 메모리를 4GB에서 3GB로 줄입니다.

답변1

파일 자체를 확인하여 실제로 유효하고 일관성이 있는지 확인하는 것이 좋습니다.

cksumCRC를 계산합니다. 최신 x86 CPU에는 여기에서 사용되거나 사용되지 않을 수 있는 전용 명령이 있습니다. 이 경우 CPU에 결함이 있거나 결함이 다른 곳에서는 나타나지 않을 수 있습니다. 마이크로코드가 최신인지 확인하거나 md5sumCRC를 수행하지 않는 다른 유틸리티를 사용하여 파일을 체크섬하거나 다른 컴퓨터에서 테스트해 보십시오.

답변2

다음 파일은 /dev특별합니다. 특히 /dev/shm공유 메모리 콘텐츠의 마운트 지점입니다 shm_overview(7). 을 참조하세요. "등 뒤에서" 바뀌는 것은 당연합니다. 만들다틀림없이당신이 이상하게 변경한 파일은 일종의 데이터베이스나 정상적인 작동으로 변경되는 다른 것이 아닙니다.

관련 정보