5. Диагностика

Как проверить поддерживает ли процессор пользователя расширения процессорных команд.

Вариант 1

Необходимо запросить логи медиапрокси у пользователей. Если процессор не подходит, в логах будут строчки 4-'Illegal instruction'.

Вариант 2

Для получения информации о процессоре пользователь может выполнить команду

$ less /proc/cpuinfo
        

В строчке flags полученного результата должны быть все флаги расширений (CMOV BMI SHA FMA4 MMX 3DNow SSE1 SSE2 SSSE3 SSE41 SSE42 AVX).

processor : 0
        vendor_id : GenuineIntel
        cpu family : 6
        model : 94
        model name : Intel Core Processor (Skylake)
        stepping : 3
        microcode : 0x1
        cpu MHz : 2100.000
        cache size : 4096 KB
        physical id : 0
        siblings : 1
        core id : 0
        cpu cores : 1
        apicid : 0
        initial apicid : 0
        fpu : yes
        fpu_exception : yes
        cpuid level : 13
        wp : yes
        flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
        cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm
        constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid
        sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
        rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs
        ibpb fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx
        smap xsaveopt xsavec xgetbv1 arat spec_ctrl
        

Пример вывода команды less /proc/cpuinfo