
All of us at least once in our lives have used the
cat / proc / cpuinfo command. Many are just to find out the number of processors and cores in the system, some are about the support of a particular technology, for example, hardware virtualization.
However, very few linuksoids take the longest line of output seriously - the so-called
flags , and even less know how one or another parameter is deciphered, since often the flags have wild and incomprehensible names. I will try to describe the majority of recognizable flags specific to the x86 architecture.
Bit of education
The
/ proc pseudo-file system is virtual and specific only to Linux kernels. It does not contain real directories and files, does not occupy space on your drive. Using the
/ proc file system is the most convenient way to get information about your system, including hardware. The
/ proc / sys subdirectory is also available, which is responsible for the current kernel parameters, which are both readable and writable. Most files are readable and understandable to humans.
Many programs that print system information use the
/ proc tree.
Entry
Let's do the pseudo file directly
/ proc / cpuinfo .
I propose to look at its typical content, from which we now throw out lines that are not interesting to us in the context of this article:
root@system:~
As you can see, here is the server processor Intel Xeon 5130, which has two cores. Lots of obscure flags, right?
')
TOP5: what flags are most interested in
1. HT - Hyper-Threading supportImplementation of simultaneous multi-threading technology. The technology increases processor performance under certain workloads. If enabled, the system determines two logical processors per physical processor (core). Present exclusively in the series of processors Intel Xeon, Pentium 4, Atom, Core i3, Core i5, Core i7.
2. LM - Long Mode (x86-64 support)Roughly speaking, if specified, the processor is made using 64-bit technology (also has the names: x86-64, x64, AMD64, Intel64, EM64T). This is an extension of the x86 architecture with full backward compatibility. In Intel processors, support has appeared since the late Pentium 4, for AMD - with the Athlon64.
3. VMX (Intel), SVM (AMD) - Hardware virtualization supportCPU support for Intel VT-x or AMD-V technologies means there are additional instructions for providing direct access to processor resources from guest systems. Allows you to bring the performance of guest systems to real and reduce the cost of performance in maintaining the host platform. Currently, Virtual Machine Extensions are supported in many Intel & AMD processors, although other processor architectures, for example, Cell, have similar extensions.
4. SSE *, SSSE *, XMM *, 3DNow !, MMX, etc.Different instruction sets for processors. Widely used by compilers in order to optimize the code for a specific architecture.
5. AES - Intel Advanced Encryption StandardThis rather controversial set of instructions increases the performance when encoding / decoding AES, which is only present in the Intel Xeon series. Often used by fans of Intel to reinforce the steepness of the server line CPU, although it is quite well known that AMD processors are stronger in data encryption, for example, in the SHA algorithm.
Overclocking: full list of flags with decoding







Where to see for yourself?
Processor flags are well documented in the Linux kernel include files. The current flags were taken from kernel
2.6.36.1 in the
./arch/x86/include/asm/cpufeature.h file. The location may sometimes change or be different, use the
find command .