Support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
4677 Discussions

question related to kernel.kptr_restrict=0


Hi all,

I was trying to setup VTune for profiling my simulation written in Fortran OpenMP on my institute's HPC cluster, the whole reason was to see the actual performance and understand the parallelisation module. I've been getting warnings from analysis result,

Data collection is completed with warnings
    Thu 18 Oct 2018 02:23:48 PM AEDT  The result file '/dir/VTuneResult/r007ah/r007ah.amplxe' is created and added to the project VTuneResult. Please see warning messages for details. 
    Access to /proc/kallsyms file is limited. Consider changing /proc/sys/kernel/kptr_restrict to 0 to enable resolution of OS kernel and kernel modules symbols.
    To profile kernel modules during the session, make sure they are available in the /lib/modules/kernel_version/ location.

Finalization completed successfully 
    Thu 18 Oct 2018 02:23:50 PM AEDT  Result is ready for analysis.

The whole analysis basically lasted 0.002s and gave me no performance information at all. It seems to me that this /proc/sys/kernel/kptr_restrict parameter needs to be set to 0 in order to be able to collect any usage. I've been reading the page:

As I'm aware that the modification requires sudo privilege, hence I've been emailing the HPC admin people, the answer is no based on the reasoning that "the HPC is used for compute and analysis rather than kernel-level code optimisation, they cannot recompile the kernel or install arbitrary kernel modules in an ad-hoc fashion". 

I'm a bit confused atm as on VTune amplifier user guide, it doesn't mention anything related to recompiling kernel or install kernel modules? I'm quite new to this, not sure if I missed anything? Alternatively, for my application purposes as stated at the beginning of the thread, does user-mode sampling suffice? Not sure if I've included enough detail but pls let me know if any further information needed?



0 Kudos
2 Replies

Hi Gaveux,

kptr_restrict is a linux mechanism to hide kernel symbols. If not disabled (via setting value to 0), kernel symbols won't be present in VTune.

Please note - it relates to CPU time spent within the Linux kernel only and doesn't affect resolving of application symbols (functions). Disabling kptr_restrict is optional and usually suggested for platform analysis. This is not a culprit for your issue.

The elapsed time shown in VTune summary should match your application execution time. I assume your application runs longer than 0.002s - please check application arguments and environment - it looks like the application hasn't been executed or failed on initial stage.

I also assume you're using CLI interface (amplxe-cl) - are you running amplxe-cl on a single node or on multiple nodes?


Hi Vitaly,

Sorry for the late reply. I have just successfully configured VTune and have realised the issue was due to the parameters being parsed into should exclude the main program file itself, it's a silly mistake but I guess it's a thing only obvious when you know the answer :)

Thanks to you, I know see the fact that user-mode sampling is exactly what I need, and thanks again for clarifying the content!